隨筆 - 55  文章 - 187  trackbacks - 0
          <2008年2月>
          272829303112
          3456789
          10111213141516
          17181920212223
          2425262728291
          2345678

          常用鏈接

          留言簿(12)

          隨筆分類

          隨筆檔案

          groovy

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          TreeSet類型是J2SE中唯一可實現(xiàn)自動排序的類型,用法如下:

          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

          運行結(jié)果:
          a
          b
          c
          c
          b
          a

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

              WE準(zhǔn)高手
          posted on 2008-02-27 13:34 大衛(wèi) 閱讀(8430) 評論(3)  編輯  收藏 所屬分類: Java

          FeedBack:
          # re: 使用TreeSet構(gòu)造排序的集合 2008-03-02 14:38 xifu
          VV不錯,多了一條路子  回復(fù)  更多評論
            
          # re: 使用TreeSet構(gòu)造排序的集合[未登錄] 2009-01-04 00:05 sa
          TreeSet類型是J2SE中唯一可實現(xiàn)自動排序的類型

          不要亂說
          treeset 實現(xiàn)了 sortedSet接口 所以他才能排序
          如果你不自己定義comparator就按系統(tǒng)默認(rèn)的方式排序
          類似的還有 treeMap

            回復(fù)  更多評論
            
          # re: 使用TreeSet構(gòu)造排序的集合 2009-05-09 16:35 asdfljasf
          不錯
            回復(fù)  更多評論
            
          主站蜘蛛池模板: 麻江县| 宜丰县| 平罗县| 平凉市| 泰顺县| 万载县| 新丰县| 马关县| 日照市| 上栗县| 沁水县| 固原市| 湄潭县| 介休市| 广灵县| 连州市| 丰镇市| 灵川县| 古丈县| 深泽县| 云阳县| 西宁市| 卢湾区| 北碚区| 潞西市| 尚义县| 江山市| 黄梅县| 青海省| 盈江县| 昭通市| 乐业县| 安乡县| 兰州市| 阿坝| 康保县| 武邑县| 合水县| 米脂县| 老河口市| 普宁市|