import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
class Person {
private String name;
private int age;
private double salary;
public Person(String name, int age, double salary) {
this.name = name;
this.age = age;
this.salary = salary;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getSalary() {
return salary;
}
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + ", salary=" + salary + '}';
}
}
public class Main {
public static void main(String[] args) {
List<Person> people = new ArrayList<>();
people.add(new Person("Alice", 30, 5000.0));
people.add(new Person("Bob", 25, 6000.0));
people.add(new Person("Charlie", 35, 5500.0));
// 按照年龄升序排序,如果年龄相同则按薪水降序排序
people.sort(Comparator.comparingInt(Person::getAge)
.thenComparingDouble(Person::getSalary, Comparator.reverseOrder()));
// 输出排序后的结果
people.forEach(System.out::println);
}
}
Person 类包含三个字段:name、age 和 salary。构造函数用于初始化这些字段,同时提供了获取字段值的 getter 方法。ArrayList 来存储 Person 对象,并添加几个示例数据。Comparator.comparingInt 按照 age 字段进行升序排序,然后使用 thenComparingDouble 按照 salary 字段进行降序排序(通过 Comparator.reverseOrder() 实现)。Person 对象的信息。这样可以实现对多个字段的复杂排序需求。
上一篇:java判断数组是否为空的方法
下一篇:java线程池使用完整代码
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站