我有一个 List<POJO>
其中每个 POJO 都有一个字段“ID”,其值为“IP_ADDRESS”。我想将此列表聚合为 Map<ID,Set<IP_ADDRESS>>
.
public Map<String, Set<String>> listToMapConverters(List<NormalizedSyslogMessage> listOfNormalizedSyslogMessages) {
Map<String, Set<String>> partyToHostNameMapping = new HashMap<>();
for (NormalizedSyslogMessage message : listOfNormalizedSyslogMessages) {
Set<String> hostIpSet = new TreeSet<>();
hostIpSet.add(message.getIpaddress().toString());
partyToHostNameMapping.put(message.getPartyID().toString(),
hostIpSet);
}
}
我正在获取一组单独的 IP 地址作为每个 ID 的集合,我想在其中聚合特定 ID 的 IpAddresses。
由于项目限制,我不想使用任何第三方库。感谢您的帮助。
最佳答案
无需在 for 循环的每次迭代中创建新的 TreeSet
,您需要检查映射 partyToHostnameMapping
中是否已存在适当的条目值并添加 IP_ADDRESS
到那个地址,如果它存在的话。
关于java - 将 POJO 列表转换为 Map<String,Set<String>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51835458/