Using TreeSet and Comparator, write Treesettestinner classes that require elements in the TreeSet "HashSet", "ArrayList", "TreeMap", "HashMap", "TreeSet", " LinkedList "is arranged in ascending and descending order and is implemented separately using anonymous inner classes and static inner classes.
Method One:
Static Inner class
ImportJava.util.*; Public classtreesettestinner{ Public Static voidMain (string[] args) {TreeSet C=NewTreeSet (Newmycomparator ()); C.add ("HashSet"); C.add ("ArrayList"); C.add ("TreeMap"); C.add ("HashMap"); C.add ("TreeSet"); C.add ("LinkedList"); Iterator it=C.iterator (); while(It.hasnext ()) System.out.println (It.next ()); } Static classMycomparatorImplementscomparator{ Public intCompare (Object O1, Object O2) {String S1=(String) O1; String S2=(String) O2; //Ascending//return S1.compareto (S2); //Descending return-S1.compareto (S2); } }}
Anonymous inner class
ImportJava.util.*; Public classtreesettestinner2{ Public Static voidMain (string[] args) {TreeSet C=NewTreeSet (NewComparator () { Public intCompare (Object O1, Object O2) {String S1=(String) O1; String S2=(String) O2; //Ascending//return S1.compareto (S2); //Descending return-S1.compareto (S2); } }); C.add ("HashSet"); C.add ("ArrayList"); C.add ("TreeMap"); C.add ("HashMap"); C.add ("TreeSet"); C.add ("LinkedList"); Iterator it=C.iterator (); while(It.hasnext ()) System.out.println (It.next ()); } }
Method Two:
Anonymous inner class
ImportJava.util.*; Public classTreeSetTest3 { Public Static voidMain (string[] args) {string[] s= {"HashSet", "ArrayList", "TreeMap", "HashMap", "TreeSet", "LinkedList"}; TreeSet STS=NewTreeSet (); TreeSet JTS=NewTreeSet (NewComparator () { Public intCompare (Object A, object B) {String S1=(String) A; String S2=(String) b; if(S1.compareto (S2) > 0){ return-1; } Else if(S1.compareto (s2) = = 0){ return0; } Else{ return1; } } }); for(inti = 0; I < 6; i++) {Jts.add (s[i]); } for(inti = 0; I < 6; i++) {Sts.add (s[i]); } System.out.println ("Ascending" +STS); System.out.println ("Descending" +JTS); }}
Static Inner class:
ImportJava.util.*; Public classTreeSetTest4 {Static classpaixu{TreeSet STS; TreeSet JTS; PublicTreeSet Daoxu (string[] s) {JTS=NewTreeSet (NewComparator () { Public intCompare (Object A, object B) {String S1=(String) A; String S2=(String) b; if(S1.compareto (S2) > 0){ return-1; } Else if(S1.compareto (s2) = = 0){ return0; } Else{ return1; } } }); for(inti = 0; I < 6; i++) {Jts.add (s[i]); } returnJTS; } PublicTreeSet Shunxu (string[] s) {sts=NewTreeSet (); for(inti = 0; I < 6; i++) {Sts.add (s[i]); } returnSTS; } } Public Static voidMain (string[] args) {string[] s= {"HashSet", "ArrayList", "TreeMap", "HashMap", "TreeSet", "LinkedList"}; Paixu px=NewPaixu (); Px.shunxu (s); Px.daoxu (s); System.out.println ("Ascending" +px.sts); System.out.println ("Descending" +px.jts); }}
TreeSet and comparator to TreeSet sort