隨筆-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 閱讀(1745) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 黔南| 福海县| 故城县| 来安县| 乌拉特中旗| 徐水县| 中江县| 包头市| 绥棱县| 宜春市| 达州市| 北碚区| 封开县| 乌兰县| 巴青县| 天柱县| 贡觉县| 红原县| 阳江市| 九江县| 大名县| 巧家县| 抚州市| 张家口市| 达孜县| 芜湖市| 改则县| 静安区| 仪陇县| 博客| 云和县| 察雅县| 盖州市| 新密市| 黄陵县| 区。| 论坛| 万全县| 鲜城| 务川| 花莲县|