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

          常用鏈接

          留言簿(12)

          隨筆分類(lèi)

          隨筆檔案

          groovy

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          TreeSet類(lèi)型是J2SE中唯一可實(shí)現(xiàn)自動(dòng)排序的類(lèi)型,用法如下:

          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

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

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

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

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

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

            回復(fù)  更多評(píng)論
            
          # re: 使用TreeSet構(gòu)造排序的集合 2009-05-09 16:35 asdfljasf
          不錯(cuò)
            回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 工布江达县| 昆山市| 静乐县| 岱山县| 商城县| 泉州市| 卓尼县| 兴和县| 塔城市| 宣城市| 资阳市| 临湘市| 上林县| 北京市| 东台市| 广昌县| 南京市| 廉江市| 老河口市| 安远县| 大同县| 峨眉山市| 扎鲁特旗| 汤原县| 温泉县| 清远市| 南康市| 阿图什市| 读书| 祁东县| 山西省| 新津县| 台山市| 石家庄市| 祁连县| 扬州市| 莆田市| 仪陇县| 乌鲁木齐市| 酒泉市| 西青区|