Java Map排序:使用TreeMap根据员工年龄排序
要根据员工的年龄对Map进行排序,可以使用TreeMap来实现,因为TreeMap会根据键的自然顺序进行排序。首先,需要定义一个Employee类,包含姓名和年龄属性。然后,创建一个TreeMap,并通过Comparator实现按照员工年龄进行排序。最后,遍历排序后的TreeMap,输出员工信息。
以下是一个示例代码:
import java.util.Comparator;
import java.util.Map;
import java.util.TreeMap;
class Employee {
private String name;
private int age;
public Employee(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return 'Employee{' +
"name='" + name + "'"
+ ", age=" + age +
'}';
}
}
public class Main {
public static void main(String[] args) {
// 创建一个Map,并指定按照年龄排序
Map<String, Employee> map = new TreeMap<>(Comparator.comparingInt(Employee::getAge));
// 添加员工信息到Map
map.put("001", new Employee("Alice", 30));
map.put("002", new Employee("Bob", 25));
map.put("003", new Employee("Charlie", 35));
// 遍历并输出排序后的Map
for (Map.Entry<String, Employee> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
运行以上代码,输出结果如下:
002: Employee{name='Bob', age=25}
001: Employee{name='Alice', age=30}
003: Employee{name='Charlie', age=35}
可以看到,Map按照员工年龄从小到大进行了排序。
原文地址: https://www.cveoy.top/t/topic/o0Nx 著作权归作者所有。请勿转载和采集!