posts - 75,comments - 83,trackbacks - 0

          ?

          class ?User?{
          ?String?name;
          ?String?age;
          ?
          ?
          public ?User(String?name,String?age){
          ??
          this .name = name;
          ??
          this .age = age;
          ?}
          ?
          public ?String?getAge()?{
          ??
          return ?age;
          ?}
          ?
          public ? void ?setAge(String?age)?{
          ??
          this .age? = ?age;
          ?}
          ?
          public ?String?getName()?{
          ??
          return ?name;
          ?}
          ?
          public ? void ?setName(String?name)?{
          ??
          this .name? = ?name;
          ?}?
          }

          public class SortTest {?
          public ? static ? void ?main(String[]?args){
          ??List?userlist
          = new ?ArrayList();
          ??userlist.add(
          new ?User( " dd " , " 4 " ));
          ??userlist.add(
          new ?User( " aa " , " 1 " ));
          ??userlist.add(
          new ?User( " ee " , " 5 " ));
          ??userlist.add(
          new ?User( " bb " , " 2 " ));??
          ??userlist.add(
          new ?User( " ff " , " 5 " ));
          ??userlist.add(
          new ?User( " cc " , " 3 " ));
          ??userlist.add(
          new ?User( " gg " , " 6 " ));
          ???
          Collections.sort(userlist,
          new ?Comparator < User > (){
          public ? int ?compare(User?arg0,?User?arg1)?{
          ??????????????????User?user0
          = (User)arg0;
          ??????????????????User?user1
          = (User)arg1;
          ??????????????????
          // 首先比較年齡,如果年齡相同,則比較名字
          ?????????????????? int ?flag = user0.getAge().compareTo(user1.getAge());
          ??????????????????
          if (flag == 0 ){
          ???????????????????
          return ?user0.getName().compareTo(user1.getName());
          ??????????????????}
          else {
          ???????????????????
          return ?flag;
          ??????????????????}??
          ?????????????????}

          ????????});
          ???
          ??
          for ?( int ?i = 0 ;i < userlist.size();i ++ ){
          ???User?user_temp
          = (User)userlist.get(i);
          ??????System.out.println(user_temp.getAge()
          + " , " + user_temp.getName());?
          ??}
          ??
          ?}
          }

          ?
          // 首先比較年齡,如果年齡相同,則比較名字

          結果:
          ???
          1 ,?aa
          ???
          2 ,?bb
          ???
          3 ,?cc
          ???
          4 ,?dd
          ???
          5 ,?ee
          ???
          5 ,?ff
          ???
          6 ,?gg
          posted on 2009-03-16 22:19 梓楓 閱讀(438) 評論(1)  編輯  收藏 所屬分類: java

          FeedBack:
          # re: Collections.sort() 對 List 排序
          2009-03-17 22:21 | 排序
          還有一種方法,就是讓User實現Comparator 接口
          User implement Comparator{


          public int compare(User arg0, User arg1) {
          User user0 = (User)arg0;
          User user1 = (User)arg1;
          // 首先比較年齡,如果年齡相同,則比較名字
          int flag = user0.getAge().compareTo(user1.getAge());
          if (flag == 0 ){
          return user0.getName().compareTo(user1.getName());
          } else {
          return flag;
          }
          }

          });
          }  回復  更多評論
            
          主站蜘蛛池模板: 广丰县| 武清区| 紫阳县| 玛曲县| 伊宁市| 保德县| 石城县| 桂阳县| 汤阴县| 新建县| 图们市| 响水县| 张家口市| 内丘县| 吴忠市| 江永县| 右玉县| 盐津县| 永泰县| 二手房| 仲巴县| 古交市| 马鞍山市| 兴安县| 蒙自县| 法库县| 阳谷县| 夹江县| 沙湾县| 精河县| 同江市| 滕州市| 东方市| 云浮市| 广元市| 泰顺县| 张北县| 富川| 合阳县| 泸西县| 莱阳市|