我通过查询以字符串形式收到多条记录。我想在循环中解析它们时,动态地将具有相同“long”键的记录存储在集合中。例如,插入键和值,如果键存在,它将添加到值,如果不存在,则创建新键。这样做最有效的方法是什么?我可以使用多个阵列来做到这一点,但我更喜欢更清洁的方式。
我不能使用HashMap
因为我必须首先将记录存储在Array
或ArrayList
中,然后插入它会破坏目的,因为我必须按键对列表进行分组无论如何。没有。记录一次不超过50个。
E.g数据:
for(i = 0; i < numRecords; i++ ) {
Data: 1 "A", 2 "B", 1 "C", 3 "D", 1 "E"
}
我想要一个集合,在循环内部我可以添加:1“A”等等..
答案 0 :(得分:2)
我认为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);
}