List集合内的对象根据对象里面的属性进行排序

1、创建实体类

2、实现comparator接口,重写compare方法

3、通过集合工具类collections中sort方法进行排序

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想对一个 List 集合对象进行排序,可以使用 Collections.sort() 方法。该方法可以根据指定的 Comparator 对象来对集合的元素进行排序。Comparator 接口的 compare() 方法可以根据自定义规则来比较两个对象的大小。 以下是一个示例代码,演示如何按照固定的顺序对一个 List 集合对象进行排序: ```java import java.util.*; class Person { String name; int age; public Person(String name, int age) { this.name = name; this.age = age; } public String toString() { return name + " - " + age; } } class PersonComparator implements Comparator<Person> { private final List<String> nameOrder; public PersonComparator(List<String> nameOrder) { this.nameOrder = nameOrder; } public int compare(Person p1, Person p2) { int index1 = nameOrder.indexOf(p1.name); int index2 = nameOrder.indexOf(p2.name); return Integer.compare(index1, index2); } } public class Main { public static void main(String[] args) { List<Person> persons = new ArrayList<>(); persons.add(new Person("Tom", 25)); persons.add(new Person("Alice", 30)); persons.add(new Person("Bob", 20)); persons.add(new Person("David", 27)); List<String> nameOrder = Arrays.asList("Alice", "Bob", "Tom", "David"); Comparator<Person> comparator = new PersonComparator(nameOrder); Collections.sort(persons, comparator); for (Person person : persons) { System.out.println(person); } } } ``` 在上面的示例代码,我们定义了一个 Person 类来表示人,其包含姓名和年龄两个属性。我们还定义了一个 PersonComparator 类来实现 Comparator 接口,该类可以根据固定的顺序来比较两个 Person 对象的大小。在 Main 类的 main() 方法,我们创建了一个 List 集合来存储 Person 对象,并使用 Arrays.asList() 方法创建了一个 List 来表示姓名的顺序。然后,我们创建了一个 PersonComparator 对象,并使用 Collections.sort() 方法对 List 集合进行排序。最后,我们遍历排好序的 List 集合,打印出每个 Person 对象的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值