隨筆-20  評論-3  文章-9  trackbacks-0
          1. List里面裝的對象是自定義的,重載這個對象的compareTo()方法,在這個方法中根據屬性A來判斷大小。  
              之后用Collections.sort()對你的list進行排序
          2. 容器內元素實現Comparetor接口,Collections.sort()把它傳進去就可以了
          3. 將內部對象繼承comparable接口,實現一個compareTo接口,調用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  自定義的排序規則
                 # @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  按照語種進行排序的規則
                 # @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)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 翁源县| 滦平县| 松阳县| 屯昌县| 青冈县| 泽普县| 富源县| 赤城县| 广饶县| 丹棱县| 墨脱县| 台中市| 尚志市| 会昌县| 苍山县| 瑞金市| 怀化市| 泗水县| 黑山县| 交口县| 乌苏市| 北流市| 缙云县| 永济市| 罗平县| 新竹县| 博罗县| 克什克腾旗| 通山县| 科技| 宜昌市| 买车| 建瓯市| 思茅市| 法库县| 漳浦县| 德州市| 宾阳县| 台湾省| 阿坝| 宽城|