gpt4 book ai didi

java - 如何对对象中的子 HashMap 进行排序

转载 作者:行者123 更新时间:2023-12-03 18:19:01 24 4
gpt4 key购买 nike

我需要实现排序,但我遇到了问题。我有 User 类,里面有带地址的 HashMap。目前我不明白如何使用 Comparator

对子实例进行排序
Map<String, String> address = new HashMap<>();

address.put("1", "firstAddress");
address.put("2", "secondAddress");
address.put("3", "thirdAddress");

User firstUser = new User(1, "Viktor", "0500000000", address);
User secondUser = new User(2, "Sergey", "0600000000", address);
User thirdUser = new User(3, "Vladimir", "0700000000", address);

List<User> users = new ArrayList<>();

users.add(firstUser);
users.add(secondUser);
users.add(thirdUser);

List<User> sortedUser = users.stream().sorted(user -> {
return user.getAddress() <-- How to sort address?
}).collect(Collectors.toList());

sortedUser.forEach(System.out::println);

最佳答案

我认为这应该按地址对您的用户进行排序(自然顺序)。

    List<User> sortedUser = users.stream().sorted((user1,user2)-> 
user1.getAddress().get(user1.getId()).compareTo(user2.getAddress().get(user2.getId()))).collect(Collectors.toList());

关于java - 如何对对象中的子 HashMap 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60850454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com