隨筆 - 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)論
            
          主站蜘蛛池模板: 高邮市| 乌鲁木齐县| 山丹县| 巨野县| 丰顺县| 宣武区| 衢州市| 庆元县| 荥经县| 从江县| 新营市| 香格里拉县| 望都县| 枞阳县| 松江区| 崇阳县| 广安市| 大埔县| 建昌县| 磐安县| 会宁县| 陵川县| 富宁县| 扬州市| 永宁县| 上林县| 霍林郭勒市| 论坛| 休宁县| 马公市| 海城市| 卓尼县| 锡林郭勒盟| 高州市| 文化| 土默特左旗| 高安市| 仙居县| 太湖县| 大连市| 泗阳县|