隨筆 - 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)論
            
          主站蜘蛛池模板: 乾安县| 德安县| 鄢陵县| 益阳市| 彭山县| 遂平县| 长海县| 达州市| 栾川县| 舟山市| 台南市| 岳西县| 衡东县| 南投县| 嘉定区| 龙山县| 广宁县| 花莲市| 嘉义县| 天水市| 达拉特旗| 宁津县| 临武县| 凤台县| 龙海市| 双辽市| 客服| 仁布县| 济源市| 勃利县| 治多县| 平武县| 安吉县| 布尔津县| 石渠县| 江华| 蒙城县| 万源市| 阿坝| 五原县| 进贤县|