在JAVA中向键中动态添加多个值

时间:2012-12-05 16:42:27

标签: java android collections

我通过查询以字符串形式收到多条记录。我想在循环中解析它们时,动态地将具有相同“long”键的记录存储在集合中。例如,插入键和值,如果键存在,它将添加到值,如果不存在,则创建新键。这样做最有效的方法是什么?我可以使用多个阵列来做到这一点,但我更喜欢更清洁的方式。

我不能使用HashMap因为我必须首先将记录存储在ArrayArrayList中,然后插入它会破坏目的,因为我必须按键对列表进行分组无论如何。没有。记录一次不超过50个。

E.g数据:

for(i = 0; i < numRecords; i++ ) {  
    Data: 1 "A", 2 "B", 1 "C", 3 "D", 1 "E"   
}

我想要一个集合,在循环内部我可以添加:1“A”等等..

1 个答案:

答案 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);
}