<< Chapter < Page | Chapter >> Page > |
What output is produced by the program shown in Listing 1 (select one or more answers) ?
Listing 1 . The program named Comparator07 . |
---|
//File Comparator07.java
//Copyright 2001, R.G.Baldwinimport java.util.*;
public class Comparator07{public static void main(String args[]){new Worker().doIt();
}//end main()}//end class Comparator07
class Worker{public void doIt(){
Iterator iter;Collection ref;
ref = new ArrayList();Populator.fillIt(ref);
iter = ref.iterator();while(iter.hasNext()){
System.out.print(iter.next() + " ");}//end while loop
System.out.println();Collections.reverse((List)ref);
iter = ref.iterator();while(iter.hasNext()){
System.out.print(iter.next() + " ");}//end while loop
System.out.println();Comparator aComparator= Collections.reverseOrder();
Collections.sort((List)ref, aComparator);iter = ref.iterator();
while(iter.hasNext()){System.out.print(iter.next() + " ");
}//end while loopSystem.out.println();
}//end doIt()}// end class Worker
class Populator{public static void fillIt(Collection ref){
ref.add("Joe");ref.add("Bill");
ref.add("Tom");ref.add("JOE");
ref.add("BILL");ref.add("TOM");
}//end fillIt()}//end class Populator |
The correct answer to the above question is C, E, and G. The output from the program is shown below:
Joe Bill Tom JOE BILL TOM
TOM BILL JOE Tom Bill JoeTom TOM Joe JOE Bill BILL
If that was your answer, you probably already understand most of the material covered in this module. In that case, you might consider skipping thismodule and moving on to the next module. If that wasn't your answer, you should probably continue with your study of this module.
The overall structure of this program in Listing 1 is similar to programs that I have discussed in previous modules. Therefore, I will concentrateon those aspects of this program that differentiate it from the programs in previous modules.
The code in Listing 2 instantiates a new ArrayList object and passes that object's reference to a method named fillIt where it ispopulated with the names of several people.
Listing 2 . A new ArrayList object. |
---|
ref = new ArrayList();
Populator.fillIt(ref);iter = ref.iterator();while(iter.hasNext()){
System.out.print(iter.next() + " ");}//end while loop |
The code in Listing 2 also gets an iterator on the list and uses that iterator to display the contents of the populated list. At that point inthe program, the list contains the following elements in the order shown:
Joe Bill Tom JOE BILL TOM
You will recognize this as matching the order in which the elements were added to the list by the fillIt method shown in Listing 3 .
Listing 3 . The fillIt method. |
---|
class Populator{
public static void fillIt(Collection ref){ref.add("Joe");
ref.add("Bill");ref.add("Tom");
ref.add("JOE");ref.add("BILL");
ref.add("TOM");}//end fillIt()
}//end class Populator |
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?