隨筆-20  評論-3  文章-9  trackbacks-0
          1. List里面裝的對象是自定義的,重載這個對象的compareTo()方法,在這個方法中根據(jù)屬性A來判斷大小。  
              之后用Collections.sort()對你的list進行排序
          2. 容器內(nèi)元素實現(xiàn)Comparetor接口,Collections.sort()把它傳進去就可以了
          3. 將內(nèi)部對象繼承comparable接口,實現(xiàn)一個compareTo接口,調(diào)用java.util.Collections.sort()方法
          4. Collections.sort(fileList,   new   FileNodeComparator(form.getSortName(),form.isAsc()));  
               
               
               
              class   FileNodeComparator   implements   Comparator{  
              private   String   sortName   =   "name";  
              private   boolean   isAsc   =   true;  
              FileNodeComparator(String   sortName,boolean   isAsc){  
              this.sortName   =   sortName;  
              this.isAsc   =   isAsc;  
              }  
              public   int   compare(Object   arg0,   Object   arg1)   {  
              。。。。。。。。  
              。。。。。。。。  
              。。。。。。。。  
              。。。。。。。。  
              }  
              }
          5. public class SortList {

                public static void main(String args[]) {
                    String words[] = { "man", "Man", "Woman", "woman", "Manana", "manana", "ma?ana", "Ma?ana", "Mantra", "mantra",
                            "mantel", "Mantel" };

                    PrintStream out = System.out;

                    List list = new ArrayList(Arrays.asList(words));
                    out.println("傳入的list:");
                    out.println(list);
                    out.println();

                    Collections.sort(list);
                    out.println("默認的sorting:");
                    out.println(list);
                    out.println();

                    list = new ArrayList(Arrays.asList(words));
                    Comparator comp = Collections.reverseOrder();
                    Collections.sort(list, comp);
                    out.println("反向sorting:");
                    out.println(list);
                    out.println();

                    list = new ArrayList(Arrays.asList(words));
                    comp = new CollatorComparator();
                    Collections.sort(list, comp);
                    out.println("自定義排序sorting:");
                    out.println(list);
                    out.println();

                    list = new ArrayList(Arrays.asList(words));
                    comp = new CaseInsensitiveComparator();
                    Collections.sort(list, comp);
                    out.println("按照語種sorting:");
                    out.println(list);
                    out.println();

                }

                /**
                 #############################################################################
                 #
                 # @DESCRIBE  自定義的排序規(guī)則
                 # @author    Administrator
                 #                                                              
                 #############################################################################
                 */
                public static class CaseInsensitiveComparator implements Comparator {
                    public int compare(Object element1, Object element2) {
                        String lower1 = element1.toString().toLowerCase();
                        String lower2 = element2.toString().toLowerCase();
                        return lower1.compareTo(lower2);
                    }
                }
                /**
                 #############################################################################
                 #
                 # @DESCRIBE  按照語種進行排序的規(guī)則
                 # @author    Administrator
                 #                                                              
                 #############################################################################
                 */
                public static class CollatorComparator implements Comparator {
                    Collator collator = Collator.getInstance();

                    public int compare(Object element1, Object element2) {
                        CollationKey key1 = collator.getCollationKey(element1.toString());
                        CollationKey key2 = collator.getCollationKey(element2.toString());
                        return key1.compareTo(key2);
                    }
                }
            }
          posted on 2008-05-30 16:47 藍山 閱讀(946) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 左权县| 翁牛特旗| 尉犁县| 万盛区| 永春县| 墨玉县| 五莲县| 白河县| 上栗县| 大英县| 酒泉市| 合阳县| 建德市| 东乌珠穆沁旗| 新竹县| 苏尼特右旗| 长兴县| 凤山县| 壤塘县| 云梦县| 太仓市| 香港 | 郓城县| 绍兴县| 泰州市| 玉树县| 芒康县| 长葛市| 集安市| 特克斯县| 岳阳市| 交口县| 随州市| 金坛市| 雷波县| 石嘴山市| 定州市| 阿城市| 民权县| 阳西县| 曲麻莱县|