对象实现Comparable接口,用Collections来对List中的对象按某个属性进行排序
由于String和Integer是已经实现了Comparable接口,所以可以直接用Collections来排序
public class StudentDO implements Serializable,Comparable<StudentDO> {
private static final long serialVersionUID = -3468257295680073421L;
private int id;
private String name;
private int sex;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
@Override
public int compareTo(StudentDO o) {
return this.getName().compareTo(o.getName());
}
}
public class TestCollections {
public static void main(String[] args) {
List<StudentDO> studentList=new ArrayList<StudentDO>();
StudentDO stu1=new StudentDO();
stu1.setId(1);
stu1.setName("list");
stu1.setSex(2);
StudentDO stu2=new StudentDO();
stu2.setId(1);
stu2.setName("array");
stu2.setSex(2);
StudentDO stu3=new StudentDO();
stu3.setId(1);
stu3.setName("collection");
stu3.setSex(2);
studentList.add(stu1);
studentList.add(stu2);
studentList.add(stu3);
Collections.sort(studentList);
System.out.println("=======升序================");
for (StudentDO studentDO : studentList) {
System.out.println(studentDO.getName());
}
Collections.reverse(studentList);
System.out.println("=======降序================");
for (StudentDO studentDO : studentList) {
System.out.println(studentDO.getName());
}
}
}
分享到:
相关推荐
java通过Comparable接口实现字符串比较大小排序的简单实例
java排序Comparator和Comparable
实现此接口的对象可以用作有序映射表中的键或有序集合中的元素,无需指定比较器。 强烈推荐(虽然不是必需的)使自然排序与 equals 一致。所谓与equals一致是指对于类 C 的每一个 e1 和 e2 来说,当且仅当 (e1....
主要介绍了Java自然排序Comparable使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
要注意的是List,Set,Queue继承了Collection接口,...这里想用一个简单的例子展示一下他们的使用,内容包括:List、Map、Set、Queue,Collections、Comparable与Comparator,排序、搜索,内部类,泛型、重写equals、hashCode
实现Comparable接口或Comparator接口,用户可以根据需要对集合中的元素进行排序。为了方便用户使用,Java平台还提供了Collections和Arrays工具类。collection.rar分别对上述内容进行详细讲解演示。
记住:如果元素要存储到HashSet集合中,必须覆盖hashCode方法和equals方法。 一般情况下,如果自定义的类会产生很多对象,比如人,学生,书,通常都需要覆盖equals,hashCode方法。 建立对象判断是否相同的依据。...
Comparable的用法1---马克-to-win java视频的详细描述
主要针对Java中Comparable和Comparator对象进行比较,感兴趣的小伙伴们可以参考一下
Comparable&Comparator区别,看完就明白了
主要介绍了java 实现Comparable接口排序,升序、降序、倒叙,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
介绍TreeSet集合用法,向TreeSet集合中添加类的对象,此类需实现Comparable接口,有实例,供需要的朋友下载学习。
Java-中的-Comparator-和-Comparable.md
Comparable和Comparator接口都可用作普通意义上对象间的比大小,但两个接口在实例化方面的用法不尽相同,接下来我们就来详细对比Java中的Comparable排序接口和Comparator比较器接口
下面小编就为大家带来一篇java中实现Comparable接口实现自定义排序的示例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
通过简单的例子初步了解Comparable和Comparator的使用,注释很详细
如何使用 Java 8 中的新特性 Optional 类型来处理可能为 null 的集合元素? 如何使用 ConcurrentHashMap 类来实现高效的并发缓存? 如何使用 Spliterator 接口来实现自定义的集合遍历逻辑? 如何使用
它是使用Comparator对象构造的,该对象可以将两个对象进行比较,从而使SortedList可以将其元素按升序或降序排序。 当且仅当要使用的对象实现Comparable接口时,我们也可以创建不带Comparator对象的SortedList。 用法...
Java中Comparable和Comparator的区别共3页.pdf.zip
教你学会Comparator和Comparable