<< Chapter < Page Chapter >> Page >

What output is produced by the program shown in Listing 1 (select one or more answers) ?

  • A. Compiler Error
  • B. Runtime Error
  • C. Joe Bill Tom JOE BILL TOM
  • D. BILL Bill JOE Joe TOM Tom
  • E. TOM BILL JOE Tom Bill Joe
  • F. Joe Bill Tom JOE TOM BILL
  • G. Tom TOM Joe JOE Bill BILL
  • H. Joe Bill Tom
  • I. None of the above.
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

And the answer is ...

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.

Similar to previous programs

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.

A new ArrayList object

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

Displays the list contents

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

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask