一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java ArrayList集合中的某個對象屬性進行排序的實現代碼

java ArrayList集合中的某個對象屬性進行排序的實現代碼

2020-05-28 13:48java教程網 JAVA教程

這篇文章主要介紹了java ArrayList集合中的某個對象屬性進行排序的實現代碼,需要的朋友可以參考下

開發(fā)中有時候需要自己封裝分頁排序時,List如何對某一屬性排序呢,分享一個小實例,大家共勉,希望能對大家有用,請多多指教。

1.Student的Bean如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Student {
    private int age;
    
    private String name;
    
    private String weight;
    public String getWeight() {
        return weight;
    }
    public void setWeight(String weight) {
        this.weight = weight;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

2.按照List中對象的Int類型屬性進行排序

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
 * 按照List中的某個Int類型的屬性進行排序
 * @param list
 */
@SuppressWarnings("unchecked")
public static void sortIntMethod(List list){
  Collections.sort(list, new Comparator(){
        @Override
        public int compare(Object o1, Object o2) {
            Student stu1=(Student)o1;
            Student stu2=(Student)o2;
            if(stu1.getAge()>stu2.getAge()){
                return 1;
            }else if(stu1.getAge()==stu2.getAge()){
                return 0;
            }else{
                return -1;
            }
        }      
  });
  System.out.println("/////////////排序之后///////////////");
  for(int i=0;i<list.size();i++){
    Student st=(Student)list.get(i);
    System.out.println("st.age="+st.getAge()+",st.name="+st.getName());
  }
}

3.按照List中對象的String類型的屬性進行排序

1)方法一:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
 * 按照List中的某個String類型的屬性進行排序
 * @param list
 */
@SuppressWarnings("unchecked")
public static void sortStringMethod(List list){
  Collections.sort(list, new Comparator(){
        @Override
        public int compare(Object o1, Object o2) {
            Student stu1=(Student)o1;
            Student stu2=(Student)o2;
            return stu1.getName().compareTo(stu2.getName());
        }      
  });
  System.out.println("/////////////排序之后///////////////");
  for(int i=0;i<list.size();i++){
    Student st=(Student)list.get(i);
    System.out.println("st.age="+st.getAge()+",st.name="+st.getName());
  }
}

2)方法二:
使用java.text.RuleBasedCollator來實現,用來執(zhí)行區(qū)分語言環(huán)境的String 比較:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
     * 按照List中的某個String類型的屬性進行排序
     * @param list
     */
    @SuppressWarnings("unchecked")
    public static void sortByRuleBasedCollator(List list){
        Collections.sort(list, new Comparator(){
            @Override
            public int compare(Object o1, Object o2) {
              return ((java.text.RuleBasedCollator)java.text.Collator.getInstance(java.util.Locale.CHINA)).compare(((Student)o1).getName(), ((Student)o2).getName());
            }      
        });
        System.out.println("/////////////排序之后///////////////");
      for(int i=0;i<list.size();i++){
        Student st=(Student)list.get(i);
        System.out.println("st.age="+st.getAge()+",st.name="+st.getName());
      }
    }

4.測試排序的方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
    @SuppressWarnings("unchecked")
public static void main(String[] args) {
 
    ArrayList list=new ArrayList();
    Student t1=new Student();
    t1.setAge(35);
    t1.setName("wanglei");
    list.add(t1);
    
    Student t2=new Student();
    t2.setAge(4);
    t2.setName("lisi");
    list.add(t2);
    
    Student t3=new Student();
    t3.setAge(56);
    t3.setName("zhonghua");
    list.add(t3);
    
    Student t4=new Student();
    t4.setAge(39);
    t4.setName("waanglei");
    list.add(t4);
    System.out.println("/////////////排序之前///////////////");
    for(int i=0;i<list.size();i++){
    Student st=(Student)list.get(i);
    System.out.println("st.age="+st.getAge()+",st.name="+st.getName());
  }
        //按照List中的某個Int類型的屬性進行排序
    sortIntMethod(list);
    //按照List中的某個String類型的屬性進行排序
    sortStringMethod(list);
}

5.結果

java ArrayList集合中的某個對象屬性進行排序的實現代碼

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人欧美一区在线视频在线观看 | 99热国产在线观看 | 免费在线观看中文字幕 | 亚洲嫩模吧粉嫩粉嫩冒白浆 | 男人把大ji巴放进女人小说 | 色婷婷影院在线视频免费播放 | 国产三级精品91三级在专区 | 国产精品久久久久久五月尺 | 国产精品一区二区在线观看完整版 | 忘忧草研究院一二三 | 亚洲视频在线观看地址 | 好大用力深一点 | 2020国产精品视频 | 激情综合 | 日本人添下面的全过程 | 久久婷婷五月综合色精品首页 | 国内精品 大秀视频 日韩精品 | 小兰被扒开内裤露出p | 短篇小说肉 | 欧美se图| 四虎最新免费网址 | 日韩欧美国产在线 | 厨房里摸着乳丰满在线观看 | 国产欧美精品一区二区三区–老狼 | 国产实拍会所女技师在线 | 精品网站一区二区三区网站 | 4p高h三男一女| 关晓彤被调教出奶水的视频 | 国产精品第四页 | yy6080欧美三级理论 | 美女张开腿黄网站免费精品动漫 | 性xxxxⅹhd成人 | 高清色黄毛片一级毛片 | 日朝欧美亚洲精品 | 成人免费影院 | 四虎色影院| 女被男啪到哭 | 91日本在线观看亚洲精品 | 青青青青青国产费线在线观看 | 性做久久久久久久久老女人 | 羞羞私人影院可以直接免费观影吗 |