隨筆-23  評論-0  文章-5  trackbacks-0
          Collections.sort的使用方法有二種:
          一種是:重新寫一個類進行Comparator接口compare方法重寫
          建立Java文件 User.java 代碼如下:注意(int沒有compareTo方法,需要將int改成Integer)
           1 public class User {
           2     private String name;
           3     private Integer age;
           4     public User(String nameTemp,Integer ageTemp)
           5     {
           6         this.name = nameTemp;
           7         this.age = ageTemp;
           8     }
           9     public String getName() {
          10         return name;
          11     }
          12     public void setName(String name) {
          13         this.name = name;
          14     }
          15     public Integer getAge() {
          16         return age;
          17     }
          18     public void setAge(Integer age) {
          19         this.age = age;
          20     }
          21 }

          建立SortTest.java文件

           1 import java.util.ArrayList;
           2 import java.util.Collections;
           3 import java.util.Comparator;
           4 import java.util.List;
           5 
           6 public class TestSort {
           7     @SuppressWarnings("unchecked")
           8     public static void main(String args[]) {
           9         List userlist = new ArrayList();
          10         userlist.add(new User("dd"4));
          11         userlist.add(new User("aa"1));
          12         userlist.add(new User("ee"5));
          13         userlist.add(new User("bb"2));
          14         userlist.add(new User("ff"5));
          15         userlist.add(new User("cc"3));
          16         
          17         Collections.sort(userlist, new Comparator(){
          18             public int compare(Object arg1, Object arg2) {
          19                 User u1 = (User)arg1;
          20                 User u2 = (User)arg2;
          21                 int flag = u1.getAge().compareTo(u2.getAge());
          22                 return flag;
          23             }
          24         });
          25 
          26         for (int i = 0; i < userlist.size(); i++) {
          27             User user_temp = (User) userlist.get(i);
          28             System.out.println(user_temp.getAge() + "," + user_temp.getName());
          29         }
          30     }
          31 }

          另一種是:在實體對象中實現Comparable接口
          建立user.java類
           1 public class User implements Comparable<User> {
           2     private String name;
           3     private Integer age;
           4     public User(String nameTemp,Integer ageTemp)
           5     {
           6         this.name = nameTemp;
           7         this.age = ageTemp;
           8     }
           9     public String getName() {
          10         return name;
          11     }
          12 
          13     public void setName(String name) {
          14         this.name = name;
          15     }
          16 
          17     public Integer getAge() {
          18         return age;
          19     }
          20 
          21     public void setAge(Integer age) {
          22         this.age = age;
          23     }
          24     public String toString() {
          25         return "name is "+name+" age is "+age;
          26     }
          27     public int compareTo(User o) {
          28         return this.age.compareTo(o.getAge());
          29     }
          30 }
          建立TestSort.java文件
           1 import java.util.ArrayList;
           2 import java.util.Collections;
           3 import java.util.List;
           4 
           5 public class TestSort {
           6     @SuppressWarnings("unchecked")
           7     public static void main(String args[]) {
           8         List userlist = new ArrayList();
           9         userlist.add(new User("dd"4));
          10         userlist.add(new User("aa"1));
          11         userlist.add(new User("ee"5));
          12         userlist.add(new User("bb"2));
          13         userlist.add(new User("ff"6));
          14         userlist.add(new User("cc"3));
          15         
          16         Collections.sort(userlist);
          17         for (int i = 0; i < userlist.size(); i++) {
          18             User user_temp = (User) userlist.get(i);
          19             System.out.println(user_temp.getAge() + "," + user_temp.getName());
          20         }
          21     }
          22 }
          posted on 2013-01-17 11:36 ForMeBlog 閱讀(1746) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 麻城市| 揭东县| 化州市| 微博| 班玛县| 凭祥市| 荔浦县| 宝坻区| 霍林郭勒市| 浏阳市| 嵩明县| 贺兰县| 咸阳市| 株洲市| 疏附县| 宜丰县| 顺平县| 普陀区| 大洼县| 南投县| 阿合奇县| 晋宁县| 靖安县| 特克斯县| 宾阳县| 桦川县| 西乌| 西畴县| 平塘县| 鸡西市| 两当县| 阿城市| 奇台县| 新巴尔虎右旗| 临漳县| 肥西县| 阳新县| 宜章县| 郴州市| 宜宾市| 商丘市|