源码如下:
import com.crcgas.dp.server.datasource.model.DataSource; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; class Student { private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Perosn [name=" + name + ", age=" + age + "]"; } } public class App { public static void main(String[] args) { List<Student> students = new ArrayList<Student>(); students.add(new Student("abc", 12)); students.add(new Student("bcd", 20)); students.add(new Student("cde", 17)); students.add(new Student("def", 25)); students.add(new Student("efg", 15)); students.sort((x, y) -> Integer.compare(x.getAge(), y.getAge())); for (Student stu : students) { System.out.println(stu); } System.out.println("---------------Collections.sort---------------------"); Collections.sort(students, new Comparator<Student>(){ @Override public int compare(Student o1, Student o2) { if(o1.getAge() < o2.getAge()){ // “>”号是正序 “<”是倒序 想要根据谁排序 就用对象get出来 return 1; } if(o1.getAge()==o2.getAge()){ return 0; } return -1; } }); for (Student stu : students) { System.out.println(stu); } } }
运行结果
Perosn [name=abc, age=12]
Perosn [name=efg, age=15]
Perosn [name=cde, age=17]
Perosn [name=bcd, age=20]
Perosn [name=def, age=25]
---------------Collections.sort---------------------
Perosn [name=def, age=25]
Perosn [name=bcd, age=20]
Perosn [name=cde, age=17]
Perosn [name=efg, age=15]
Perosn [name=abc, age=12]
相关推荐
在开发中,我们可能会遇到,我们会根据不同情况对一个List集合进行排序操作,为了方便List集合根据对象中的某一个属性进行排序,开发了此工具类:
java版本List中对象多属性排序.rar
对List集合中 对象属性排序,不需要在每个实体类中重写Sort方法,实现了代码的重用。非常好用的Util类
对集合中的对象进行排序,例如:List中存放了User对象,则可根据User对象的某一个属性进行顺序or倒序的排序
下面小编就为大家分享一篇java根据List内对象的属性排序方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
主要介绍了Java实现储存对象并按对象某属性排序的几种方法,结合实例形式详细分析了Java储存对象并按对象某属性排序的具体实现方法与操作注意事项,需要的朋友可以参考下
根据对象一个或多个属性将对象进行综合排序,可进行逆序,也可进行顺排序,若第一个属性相同,则进行第二个属性进行排序,最好得到最后的结果
下面小编就为大家带来一篇List集合对象中按照不同属性大小排序的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
将学生对象放入一个集合,通过重写学生类的hashcode与equals方法,以及通过collections工具类调用实现caparator接口类的专门比较器及方法,对存放学生的集合进行多属性排序
主要介绍了java ArrayList集合中的某个对象属性进行排序的实现代码,需要的朋友可以参考下
java中按找对象的某个属性进行升序降序的排序
什么这是通过在用户个人资料上存储一个对象数组来实现的,每个对象都有一个ID引用,该ID引用了我们想要的另一个集合中的文档,以及一个索引属性,该属性在通过拖放重新排序时会更新。 然后,我们使用查询中的ID列表...
前段时间跟公司前端对接的时候,一个简单的数据库查询,但是前端说将结果按某个属性分组,每组单独一个集合,集合第一个元素为该属性,第二个元素为该属性值相同的所有对象集合,由于是小白一个,这个数据整理也是花...
Ilist接口:定义了利用索引访问集合对象的方法,还继承了ICollection和IEnumerable接口,除实现了接口原有的方法成员外,其本身也定义多个专门的方法成员,例如新增、移除、在指定位置插入元素或是返回特定元素在...
您可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype 方式或Singleton 方式)、哪个对象产生之后必须设定成为某个对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用...
16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”) 16.3.6 迫切左外连接检索(fetch属性为“join”) 16.4 多对一和一对一关联的检索策略 16.4.1 迫切左外连接检索(fetch...
* 方法: public PockerCard() //无参构造函数: 创建牌的集合、创建两个角色对象 * public void initializeCard() //创建整幅扑克牌 * public void showCard() //显示单支牌的花色和点数 * public void ...
16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”) 16.3.6 迫切左外连接检索(fetch属性为“join”) 16.4 多对一和一对一关联的检索策略 16.4.1 迫切左外连接检索(fetch...
16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”) 16.3.6 迫切左外连接检索(fetch属性为“join”) 16.4 多对一和一对一关联的检索策略 16.4.1 迫切左外连接检索(fetch...