黑马程序员-JavaAPI-17天-3(Collections-reverseOrder)

package string.test;

import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

/*
 * 
 * 类 Collections
 *   reverseOrder() 
 *   返回一个比较器,它强行逆转实现了 Comparable 接口的对象 collection 的自然顺序。
 *   reverseOrder(Comparator<T> cmp) 
 *   返回一个比较器,它强行逆转指定比较器的顺序。
 *   
 */
public class CollectionsDemo3 {
    public static void main(String[] args) {
        Set<String> set = new TreeSet<String>();
     //反Set<String> set = new TreeSet<String>(); Collections.reverseOrder()
     //根据字符串长度排序
     //Set<String> set = new TreeSet<String>();
     //反Set<String> set = new TreeSet<String>(); Collections.reverseOrder(new StringLengthSort())
        set.add("abcde");
        set.add("aaa");
        set.add("kkk");
        set.add("ccc");
        Iterator<String> it = set.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
    }
}
/*
 * 根据字符串长度进行排序
 */
class StringLengthSort implements Comparator<String> {
    @Override
    public int compare(String o1, String o2) {
        int num = new Integer(o1.length()).compareTo(new Integer(o2.length()));
        if (num == 0) {
            return o1.compareTo(o2);
        }
        return num;
    }
}

 

posted @ 2013-03-20 16:21  谷文仁  阅读(267)  评论(0编辑  收藏  举报