[英]How to add List element to map by key?
我使用以下方法按键对项目进行排序:
final Map<Integer, UUID> map = new TreeMap<>();
while (rowIterator.hasNext()) {
// Add Items to the TreeMap
mapppp.put(1, UUID.fromString("610e9040-840c-48c5-aa64-f193ed896133"));
mapppp.put(2, UUID.fromString("4ff0055d-49a9-4e93-b960-ff70ae1007ce"));
mapppp.put(3, UUID.fromString("751c79ce-445c-406a-9787-a754857a259c"));
mapppp.put(3, UUID.fromString("dc721d77-509d-4bd3-8004-43a8daab5840"));
mapppp.put(3, UUID.fromString("4ca16aff-5a30-4638-8b38-3a93eddb0fc5"));
mapppp.put(3, UUID.fromString("e4be360b-cccb-42a2-b416-eb4bb623b49f"));
}
但是,我不能为重复的键值添加另一个元素(例如 3),我认为我应该实现类似Map<Integer, List<UUID>> map = new TreeMap<>();
而不是Map<Integer, UUID> map = new TreeMap<>();
. 但是,我找不到合适的解决方案。 那么,如何管理要添加到地图中的重复键值?
您确实可以按照您的建议使用Map<Integer, List<UUID>>
。 如果键不存在,您可以使用computeIfAbsent
创建一个空映射,并将值添加到键:
final Map<Integer, List<UUID>> map = new TreeMap<>();
addToMap(int key, String value) {
mapppp.computeIfAbsent(key, k -> new ArrayList<>()).add(value);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.