`
yaozhiqiang109
  • 浏览: 119477 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Comparable用法,集合对象中元素排序

    博客分类:
  • JAVA
 
阅读更多

对象实现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());
        }
    }

}
0
0
分享到:
评论

相关推荐

    java集合某个字段按照中文拼音排序.docx

    对Java集合中的某个字段按照中文拼音排序可以使用多种方法,本文将介绍两种常见的方法。 方法一:使用Comparable接口 在Java中,我们可以使用Comparable接口来实现自定义排序。例如,我们可以创建一个Record类,...

    Java自然排序Comparable使用方法解析

    Java自然排序Comparable使用方法解析 Java中的自然排序是指使用Comparable接口来实现对象的排序,通过重写compareTo方法来控制排序结果。Comparable接口是Java中的一个接口,用于定义对象的自然顺序。它只有一个...

    java版本List中对象多属性排序.rar

    在这个“java版本List中对象多属性排序.rar”压缩包中,我们可能找到了一个关于如何在Java中实现此类排序的示例或教程。 首先,让我们理解基本概念。在Java中,`List`接口是`Collection`框架的一部分,它允许我们...

    Java对象排序中文排序SortedSet排序使用和源码讲

    当我们处理集合数据时,有时需要按照特定的规则对元素进行排序,例如按照对象的属性值或字符串的自然顺序。本主题将深入探讨如何使用SortedSet接口来实现Java对象的中文排序,并通过源码分析理解其工作原理。 首先...

    java集合对象

    与数组相比,集合对象提供了更多的灵活性和功能,例如动态调整大小的能力以及更为丰富的操作方法。根据其特性不同,集合主要分为三大类:`Set`、`List`和`Map`。 - **Set**:集合对象的一种,不允许存储重复的元素...

    Java集合排序及java集合类详解

    对于List,可以使用Collections.sort()方法进行排序,这个方法默认使用元素的自然顺序,如果元素是自定义对象,需要实现Comparable接口或者提供Comparator。对于Map,排序主要是针对其键进行,可以使用SortedMap接口...

    List集合对象中按照不同属性大小排序的实例

    需要注意的是,在使用Collections.sort()方法时,我们需要确保List集合对象的元素类型实现了Comparable接口,以便能够正确地进行排序。在本例中,我们使用匿名内部类实现Comparator接口,以便能够根据不同的属性值...

    Java集合排序及java集合类详解.pdf

    5. 排序:Java集合框架提供了对集合进行排序的能力,可以通过实现Comparable接口或者通过Comparator接口来对集合元素进行排序。Comparator接口更加灵活,因为它可以在运行时动态地指定排序规则,而Comparable接口...

    java中集合排序

    本文将深入探讨Java中集合排序的相关知识点,包括基本概念、排序方法以及常用类的实现。 1. **集合接口与实现** Java集合框架主要包括`List`, `Set`, 和 `Map`三大接口。其中,`List`接口要求元素有序,允许重复;...

    java 集合分组与排序

    `Collectors.groupingBy`方法允许我们将集合中的元素按照指定的键进行分组,创建一个Map,其中键是分组的标准,值是一个包含该组所有元素的列表。例如,如果我们有一个`Person`对象的列表,可以按年龄分组: ```...

    java中进行集合排序

    - **自然排序**:除了使用`Comparator`外,还可以让对象实现`Comparable`接口并重写`compareTo`方法来支持自然排序。 - **Lambda表达式**:在Java 8及以上版本中,可以使用Lambda表达式简化`Comparator`的实现,...

    java中Comparable和Comparator的区别

    在集合排序时,如果集合元素类型不支持自然排序或者需要特殊的排序方式,可以使用Comparator。例如,我们可以创建一个Person类,并根据年龄排序: ```java class Person { String name; int age; // ...构造器...

    java 按对象属性排序

    综上所述,Java提供多种方式来根据对象属性进行排序,包括实现`Comparable`接口,使用`Collections.sort()`方法,以及创建自定义的`Comparator`。在实际开发中,应根据具体需求选择合适的方法。通过理解这些概念,...

    List中保存对象,按对象中某一属性排序【含程序源码】

    在`main`方法中,创建了一个`Student`对象的列表,然后使用`Collections.sort()`对其进行排序,最后打印出排序后的结果。 在某些情况下,如果需要根据多个属性进行排序,或者排序规则比较复杂,可以使用`Comparator...

    arraylist 对象 数组排序

    如果ArrayList中的元素是基本类型(如int、double等)的包装类或者是实现了Comparable接口的对象,那么可以直接使用Collections.sort()进行排序。例如,如果ArrayList包含Integer对象,如下所示: ```java ...

    List对象集合的排序:比较器Comparator(简单例子)

    在`List`对象集合中使用`Comparator`进行排序,通常需要调用`Collections.sort()`或`list.sort()`方法。例如,假设我们有一个`Person`类,其中包含`name`和`age`属性,我们想要根据年龄对`Person`对象列表进行排序:...

    List 对象属性排序

    ### List对象属性排序知识点 #### 一、概述 在Java编程中,经常需要对`List`集合中的对象按照特定...通过以上介绍,可以看出该工具类能够有效地简化`List`集合中对象属性的排序过程,提高代码的可读性和可维护性。

    Java 对象排序详解.rar_java 对象排序_对象_排序

    在Java编程语言中,对象排序是一项关键操作,特别是在处理集合数据结构时。本文将深入探讨如何对ArrayList、HashSet、TreeSet以及数组中的对象进行排序。理解这些排序机制对于编写高效且可维护的代码至关重要。 ...

Global site tag (gtag.js) - Google Analytics