Collections集合框架工具类

来源:互联网 发布:解答问题的软件 编辑:程序博客网 时间:2024/06/10 14:25

这儿使用了集合框架工具类 Collections的 reverSeOdrder() 及重载方法,一个是实现排序,一个是排序的反转,这样只需要写一个比较器就具有二个功能,而不需要写二个比较器,使用起来也是比较方法的,也有许多实现的地方。


import java.util.*;//按字母顺序排序class Strcomparator implements Comparator<String>//比较{public int compare(String str1,String str2){//equals(); 返回布尔//compareTo(String anotherString) //按字典顺序比较两个字符串。return str1.compareTo(str2);}}//按字符串长度排序class StrLengthComparator implements Comparator<String>{public int compare(String str1,String str2){int length = str1.length() -str2.length();if(length>0)return 1;if(length<0)return -1;return length;}}class CollectionsDemo2 {public static void main(String[] args) {orderDemo();}public static void orderDemo(){//TreeSet<String> ts = new TreeSet<String>();//增加自己写的比较器//TreeSet<String> ts = new TreeSet<String>(new Strcomparator());//集合框架中的方法 //public static <T> Comparator<T> reverseOrder()//返回一个比较器,它强行逆转实现了 Comparable 接口的对象 collection 的自然顺序。//TreeSet<String> ts = new TreeSet<String>(Collections.reverseOrder());//按长度排序,从短到长。//TreeSet<String> ts = new TreeSet<String>(new StrLengthComparator());//如果要按从长到的排序,//方法一:改上面使用的比较器。//reverseOrder(); 有个重载方法//方法二:public static <T> Comparator<T> reverseOrder(Comparator<T> cmp)//返回一个比较器,它强行逆转指定比较器的顺序。TreeSet<String> ts = new TreeSet<String>(Collections.reverseOrder(new StrLengthComparator()));ts.add("abcde");ts.add("aaa");ts.add("kk");ts.add("bbb");ts.add("adfsadfasf");ts.add("a");Iterator it = ts.iterator();while(it.hasNext()){System.out.println(it.next());}}}


0 0
原创粉丝点击