要根据泛型的某个字段排序,可以使用 `Comparator` 来实现。下面是一个示例代码:\n\n首先,定义一个泛型类 `Person`,包含一个 `name` 字段和一个 `age` 字段:\n\njava\npublic class Person {\n private String name;\n private int age;\n\n public Person(String name, int age) {\n this.name = name;\n this.age = age;\n }\n\n public String getName() {\n return name;\n }\n\n public int getAge() {\n return age;\n }\n}\n\n\n然后,创建一个 `Comparator` 实现类 `PersonComparator`,用于根据 `age` 字段进行排序:\n\njava\nimport java.util.Comparator;\n\npublic class PersonComparator implements Comparator<Person> {\n @Override\n public int compare(Person p1, Person p2) {\n return p1.getAge() - p2.getAge();\n }\n}\n\n\n最后,使用 `Collections.sort()` 方法对 `List` 进行排序:\n\njava\nimport java.util.ArrayList;\nimport java.util.Collections;\nimport java.util.List;\n\npublic class Main {\n public static void main(String[] args) {\n List<Person> personList = new ArrayList<>();\n personList.add(new Person("Alice", 25));\n personList.add(new Person("Bob", 30));\n personList.add(new Person("Charlie", 20));\n\n Collections.sort(personList, new PersonComparator());\n\n for (Person person : personList) {\n System.out.println(person.getName() + ": " + person.getAge());\n }\n }\n}\n\n\n运行结果:\n\n\nCharlie: 20\nAlice: 25\nBob: 30\n\n\n以上代码中,通过创建一个实现了 `Comparator` 接口的 `PersonComparator` 类,并重写 `compare()` 方法来实现根据 `age` 字段进行排序。然后,使用 `Collections.sort()` 方法对 `personList` 进行排序,传入 `PersonComparator` 的实例作为排序规则。最后,遍历排序后的 `personList` 输出排序结果。

Java List 泛型排序:根据字段排序示例

原文地址: https://www.cveoy.top/t/topic/pVhH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录