/** * * @author yaoyuan */1 import java.util.*;2 public class TestSet{3 enum Example{ONE,TWO,THREE}4 public static void main(String[] args){5 Collection coll = new ArrayList();6 coll.add(Example.Three);7 coll.add(Example.Three);8 coll.add(Example.Three);9 coll.add(Example.TWO);10 coll.add(Example.TWO);11 coll.add(Example.ONE);12 Set set = new HashSet(coll);13 }14 }
/**
*Which statements is true about the set variable on line 12?
*
*
*A The set variable contains all six elements from the coll collection, and the order is guaranteed to be preserved
*B The set variable contains only three elements from the coll collection, and the order is guaranteed to be preserved
*C The set variable contains all six elements from the coll collection, but the order is NOT guaranteed to be preserved
*D The set variable contains only three elements from the coll collection, but the order is NOT guaranteed to be preserved
*/
[color=red]// Answer : D[/color]
/** * * @author yaoyuan */11 public class Person{12 private String name, comment;13 private int age;14 public Person(String n,int a, String c){15 name = n; age = a, comment = c;16 }17 public boolean equals(Object o){18 if(!(o instanceof Person)) return false;19 Person p = (Person)o;20 return age == p.age && name.equals(p.name);21 }22 }
/**
*What is the appropriated definition of the hashCode method in class Person?
*
*
*A return super.hashCode();
*B return super.hashCode() + 7* age;
*C return name.hashCode() + comment.hashCode()/2;
*D return name.hashCode() + comment.hashCode()/2 - age*3;
*/
[color=red]// Answer : B[/color]
/** * * @author yaoyuan */1 public class Person{2 private String name;3 public Person(String n){ this.name = name;}4 public boolean equals(Person p){5 return p.name.equals(this.name);6 }7 }
/**
*Which statements is true?
*
*
*A The equals method does not properly override the Object equals method
*B Compilation fails because the private attribute p.name cannot be accessed in line 5
*C to work correctly with hash-based data structures, this class must also implement the hashCode method
*D When adding Person objects to java.util.Set collection, the equals method in line 4 will prevent duplicates
*/
[color=red]// Answer : A[/color]
/** * * @author yaoyuan */1 import java.util.*;2 public class Example{3 public static void main(String[] args){4 //insert code here5 set.add(new Integer(1));6 set.add(new Integer(2));7 System.out.println(set);8 }9 }
/**
*Which code , inserted at line 4, guaranteed that this program will output[1,2]?
*
*
*A Set set = new TreeSet();
*B Set set = new HashSet();
*C Set set = new SortedSet();
*D List set = new SortedList();
*E Set set = new LinkedHashSet();
*/
[color=red]// Answer : A
[/color]
/** * * @author yaoyuan */34 HashMap props = new HashMap();35 props.put("key45", "some value");36 props.put("key12", "some other value");37 props.put("key39", "yet another value");38 Set s = props.ketSet();39 //insert code here
/**
*What inserted at line 39, will sort the keys in the props HashMap?
*
*A Array.sort(s);
*B s = new TreeSet(s);
*C Collections.sort(s);
*D s = new SortedSet(s);
*/
[color=red]// Answer : B[/color]
/**
*
* @author yaoyuan
*/
/**
*Which two code fragments will execute the method doStuff() in a separate thread?
*
*
*
*A new Thread(){public void run(){doStuff();}};
*B new Thread(){public void start(){doStuff();}};
*C new Thread(){public void start(){doStuff();}}.run();
*D new Thread(){public void run(){doStuff();}}.start();
*E new Thread(new runnable(){public void run(){doStuff();}}).run();
*F new Thread(new runnable(){public void run(){doStuff();}}).start();
*/
[color=red]// Answer : D F[/color]
/** * * @author yaoyuan */1 public class Threads2 implements Runnable{2 3 public void run(){4 System.out.println("run.");5 throw new RuntimeException("Problem");6 }7 public static void main(String[] args){8 Thread t = new Thread(new Threads2());9 t.start();10 System.out.println("End of method");11 }12 }
/**
*Which to can be results?(Choose two)
*
*
*A java.lang.RuntimeException:Problem
*B run.
java.lang.RuntimeException:Problem
*C End of method
java.langRuntimeException:Problem
*D End of method
run
java.langRuntimeException:Problem
*E run.
* java.langRuntimeException:Problem
* End of method
*/
[color=red]// Answer : D E[/color]
/** * * @author yaoyuan */public class NamedCounter{ private final String name; private int count; public NamedCounter(String name){this.name = name}; public String getName(){return name;} public void increment(){count++;} public int getCount(){return count;} public void reset(){count=0;} }
/**
*Which three changes should be made to adapt this class to be used safely by multiple threads?(Choose three)
*
*
*
*A declare reset() using the synchronized keyword
*B declare getName() using the synchronized keyword
*C declare getCount() using the synchronized keyword
*D declare the constructor using the synchronized keyword
*E declare increment() using the synchronized keyword
*/
[color=red]// Answer : A C E[/color]
/** * * @author yaoyuan */1 public class TestSeven extends Thread{2 private static int x;3 public synchronized void doThings(){4 int current = x;5 current++;6 x = current;7 }8 public void run(){9 doThings();10 }11 }
/**
*Which statements is true?
*
*
*A Compilation fails
*B An exception is thrown at runtime
*C Synchronizing the run() method would make the class thread-safe
*D The data in variable "x" are protected from concurrent access problems
*E Declaring the doThings() method as static would make the class thread-safe
*F Wrapping the statements with in doThings() in a synchronized (new Object()){} block would make the class thread-safe
*/
[color=red]// Answer : E[/color]
/** * * @author yaoyuan */7 void waitForSignal(){8 Object obj = new Object();9 synchronized (Thread.currentThread()){10 obj.wait();11 obj.notify();12 }13 }
/**
*What statement is true?
*
*
*A This code may throw an InterruptedException
*B This code may throw an IllegalStateException
*C This code may throw a TimeoutException after ten minutes
*D This code will not compile unless "obj.wait()" is replaced with "((Thread)obj).wait()"
*E A call to notify() or notifyAll() from another thread may cause this method to complete normally
*/
[color=red]// Answer : B[/color]
相关资源:Java国际认证(SCJP)典型试题1000例 高清版 pdf