更多: zhilu jiaocheng
对多个字段进行排序
使用 thenComparing()
创建能够按多个字段排序的 Comparator
示例:
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class JavaSort { public static void main(String[] args) { ArrayList<Employee> employees = getUnsortedEmployeeList(); // 先根据FirstName排序,再根据LastName排序 Comparator<Employee> compareByName = Comparator .comparing(Employee::getFirstName) .thenComparing(Employee::getLastName); Collections.sort(employees, compareByName); System.out.println(employees); } private static ArrayList<Employee> getUnsortedEmployeeList() { ArrayList<Employee> list = new ArrayList<>(); list.add( new Employee(2, "JackLi", "Gupta") ); list.add( new Employee(1, "JackLi", "Gussin") ); list.add( new Employee(4, "BobRobert", "Sux") ); list.add( new Employee(5, "Neon", "Piper") ); list.add( new Employee(3, "Tomm", "Beckham") ); list.add( new Employee(7, "JackLi", "Beckham") ); list.add( new Employee(6, "BobRobert", "Suxena") ); return list; } }
使用Comparator.thenComparing()
方法可以按多个字段对对象列表进行排序
此方法返回一个字典顺序比较器和另一个比较器。
它提供与 SQL group by 子句相同的效果。
日期:2020-09-17 00:09:27 来源:oir作者:oir