//util.java -- @CopyLeft by tsaiwn@csie.nctu.edu.tw //test some goody in java.util.* import java.util.*; class util { public static void main(String xx[ ]) { new util( ); } util( ) { main( ); } /// 這樣寫就很容易把 C/C++ 改為 Java; 且不需要寫 static 的變數與函數 java.io.PrintStream cout=System.out; void print(Collection c) { // can print any Collection Iterator it = c.iterator( ); for(; it.hasNext( ); ) System.out.print(" "+ it.next( ) ); System.out.println(); }//print void print(T[ ] a) { // Java array has length attribute for(int i=0; i < a.length; ++i) cout.print(" "+ a[i] ); System.out.println(); } int main( ) { List a=new LinkedList( ); a.add(38); a.add(58); a.add(49); a.add(88); a.add(33); cout.print("a: "); print(a); Collections.sort(a); print(a); // can sort List, Vector, Stack Collections.sort(a, Collections.reverseOrder( )); print(a); /// List b=new ArrayList( ); b.add(38.38); b.add(58.85); b.add(49.49); cout.print("b: "); print(b); Collections.sort(b); print(b); Collections.sort(b, Collections.reverseOrder( )); print(b); /// String sa[ ]={"IS", "abcde", "god", "BAD","EGG","U", "dog", "cat"}; Vector s = new Vector(Arrays.asList(sa)); ///// cout.print("s: "); print(s); Collections.sort(s); print(s); Collections.sort(s, Collections.reverseOrder( )); print(s); /// String 內有個不管大小寫的比較器(Comparator)可給 sort 用! Comparator cmp = String.CASE_INSENSITIVE_ORDER; Collections.sort(s, cmp); print(s); // 不管大小寫 Ascending Collections.sort(s, Collections.reverseOrder(cmp)); print(s); cout.print("String array sa: "); print(sa); Arrays.sort(sa); cout.print("After Arrays.sort(sa): "); print(sa); Arrays.sort(sa, cmp); cout.print("Arrays.sort(sa, smp): "); print(sa); Arrays.sort(sa, Collections.reverseOrder(cmp) ); cout.print("After with reverse smp: "); print(sa); return 0; }//main }//class /*********** D:\COURSE\OOP\ppnt>javac util.java D:\COURSE\OOP\ppnt>java util a: 38 58 49 88 33 33 38 49 58 88 88 58 49 38 33 b: 38.38 58.85 49.49 38.38 49.49 58.85 58.85 49.49 38.38 s: IS abcde god BAD EGG U dog cat BAD EGG IS U abcde cat dog god god dog cat abcde U IS EGG BAD abcde BAD cat dog EGG god IS U U IS god EGG dog cat BAD abcde String array sa: IS abcde god BAD EGG U dog cat After Arrays.sort(sa): BAD EGG IS U abcde cat dog god Arrays.sort(sa, smp): abcde BAD cat dog EGG god IS U After with reverse smp: U IS god EGG dog cat BAD abcde *********************************************/