我通过查询收到了作为字符串的多条记录。当我在循环中解析它们时,我想动态地将具有相同“长”键的记录存储在集合中。就像插入键和值一样,如果键存在,它会添加到值中,如果不存在,则会创建一个新键。做到这一点最有效的方法是什么?我可以使用多个数组来完成此操作,但我更喜欢更简洁的方法。
我无法使用HashMap
,因为我必须首先将记录存储在Array
或ArrayList
中,然后插入它,这违背了目的因为无论如何我必须首先按键对列表进行分组。没有。记录的数量一次不会超过 50 条。
例如数据:
for(i = 0; i < numRecords; i++ ) {
Data: 1 "A", 2 "B", 1 "C", 3 "D", 1 "E"
}
我想要一个集合,在循环内我可以添加:1“A”等等..
最佳答案
我认为Map<Long,List<String>>
可能对你有帮助。
Map<Long,List<String>> map = new HashMap<>();
...
if(map.get(key)!=null){
List<String> list = map.get(key);
list.add(value);
}else{
List<String> list = new ArrayList<>();
list.add(value);
map.put(key,list);
}
关于java - JAVA中动态为一个键添加多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13728098/