<< Chapter < Page | Chapter >> Page > |
Listing 1 . Comparator05.java. |
---|
//File Comparator05.java
//Copyright 2001, R.G.Baldwinimport java.util.*;
import java.io.Serializable;public class Comparator05{
public static void main(String args[]){
new Worker().doIt();}//end main()
}//end class Comparator05class Worker{
public void doIt(){Iterator iter;
Collection ref;Object[] array;ref = new Vector();
Populator.fillIt(ref);iter = ref.iterator();
System.out.println("Collection data");while(iter.hasNext()){
System.out.print(iter.next() + " ");}//end while loop
System.out.println();array = ref.toArray();
System.out.println("Raw array data");display(array);
//Sort the array into natural order// and display it.
Arrays.sort(array);System.out.println("Natural order sorted " +
"array data");display(array);
//Sort the array into custom order// and display it.
Arrays.sort(array, new TheComparator());System.out.println("Custom order sorted " +
"array data");display(array);
iter = ref.iterator();System.out.println("Collection data");
while(iter.hasNext()){System.out.print(iter.next() + " ");
}//end while loopSystem.out.println();
}//end doIt()static void display(Object[] array){for(int i = 0; i<array.length;i++){
System.out.print(array[i]+ " ");
}//end for loopSystem.out.println();
}//end display()}// 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
class TheComparator implements Comparator,Serializable{public int compare(Object o1,Object o2){
if(!(o1 instanceof String))throw new ClassCastException();
if(!(o2 instanceof String))throw new ClassCastException();
int result = ((String)o1).compareTo(((String)o2));return result*(-1);
}//end compare()}//end class TheComparator |
This section contains a variety of miscellaneous information.
Financial : Although the Connexions site makes it possible for you to download aPDF file for this module at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, youshould be aware that some of the HTML elements in this module may not translate well into PDF.
I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version ofthe module.
In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale onAmazon.com showing me as the author. I neither receive compensation for those sales nor do I know who does receive compensation. If youpurchase such a book, please be aware that it is a copy of a module that is freely available on cnx.org and that it was made andpublished without my prior knowledge.
Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.
-end-
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?