使用TreeSet构造排序的集合

TreeSet类型是J2SE中唯一可实现自动排序的类型,用法如下:

MyComparator.java
 1package test;
 2
 3import java.util.Comparator;
 4
 5public class MyComparator<T> implements Comparator<T> {
 6
 7    public int compare(T arg0, T arg1) {
 8        if (arg0.equals(arg1)) {
 9            return 0;
10        }

11        return ((Comparable<T>) arg0).compareTo(arg1) * -1;
12    }

13
14}

TreeSetTest.java
 1package test;
 2
 3import java.util.Iterator;
 4import java.util.TreeSet;
 5
 6public class TreeSetTest {
 7
 8    /**
 9     * @param args
10     */

11    public static void main(String[] args) {
12
13        MyComparator<String> myComparator = new MyComparator<String>();
14
15        // /////////////////////不添加自定义排序
16        TreeSet<String> treeSet1 = new TreeSet<String>();
17        treeSet1.add("c");
18        treeSet1.add("a");
19        treeSet1.add("b");
20
21        Iterator<String> iterator1 = treeSet1.iterator();
22        while (iterator1.hasNext()) {
23            System.out.println(iterator1.next());
24        }

25
26        // /////////////////////添加自定义排序
27        TreeSet<String> treeSet2 = new TreeSet<String>(myComparator);
28        treeSet2.add("c");
29        treeSet2.add("a");
30        treeSet2.add("b");
31
32        Iterator<String> iterator2 = treeSet2.iterator();
33        while (iterator2.hasNext()) {
34            System.out.println(iterator2.next());
35        }

36    }

37
38}

39

运行结果:
a
b
c
c
b
a

--------------------

    WE准高手
posted on 2008-02-27 13:34 大卫 阅读(1217) 评论(1)  编辑  收藏 所属分类: Java

评论

# re: 使用TreeSet构造排序的集合 2008-03-02 14:38 xifu  回复  更多评论   

VV不错,多了一条路子

标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
 
相关链接:
网站导航: