java list按照某个字段排序_List集合按某个字段排序(Collections.sort)

package wjtest_01;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.List;

List list = new ArrayList();

// 创建3个学生对象,年龄分别是20、19、21,并将他们依次放入List中

Student s1 = new Student();

s1.setAge(20);

s1.setUsable(true);

Student s2 = new Student();

s2.setAge(19);

s2.setUsable(true);

Student s3 = new Student();

s3.setAge(21);

s3.setUsable(false);

list.add(s1);

list.add(s2);

list.add(s3);

System.out.println("排序前:" + list);

Collections.sort(list, new Comparator<Student>() {```

@Override

public int compare(Student o1, Student o2) {

// 按照学生的年龄进行升序排列

if (o1.getAge() > o2.getAge()) {

return 1;

}

if (o1.getAge() == o2.getAge()) {

return 0;

}

return -1;

}

});

System.out.println("升序排序后:" + list);

Collections.sort(list, new Comparator() {

public int compare(Student o1, Student o2) {

// 按照学生的年龄进行降序排列

if (o1.getAge() > o2.getAge()) {

return -1;

}

if (o1.getAge() == o2.getAge()) {

return 0;

}

return 1;

}

});

System.out.println("降序排序后:" + list);

Boolean b1 = true; // 创建Boolean对象1

Boolean b2 = false; // 创建Boolean对象0

Boolean b3 = true; // 创建Boolean对象1

System.out.println(b1);

int i;

i = b1.compareTo(b2); // b1和b2进行比较

System.out.println(i);//1-0

i = b2.compareTo(b1); // b2和b1进行比较

System.out.println(i);//0-1

i = b1.compareTo(b3); // b1和b3进行比较

System.out.println(i);//1-1

}

}

class Student{

private int age;

private Boolean isUsable;

public int getAge() {

return age;

}

public Boolean isUsable() {

return isUsable;

}

public void setUsable(Boolean isUsable) {

this.isUsable = isUsable;

}

public void setAge(int age) {

this.age = age;

}

@Override

public String toString() {

return getAge()+"";

}

来源:51CTO

作者:潜心笃志

链接:https://blog.51cto.com/82711020/2094455

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值