使用arraylist作为值映射实现

时间:2014-04-03 18:14:44

标签: arraylist map iterator key

我第一次在我的代码中使用地图,因此需要您的专家提供一些意见。

我的要求是我必须从数据库中检查两个不同的表。第一个表格中的值将用作,第二个表格的值将用作键的

每个键都有多个值,因此我会将所有值存储在arraylist中的每个键中,即我的Map将像 MAP。

现在,我的问题如下:

  1. 我不知道总数没有。键,所以我不能提前创建arraylist对象。如何管理?
  2. 如何检查地图中是否存在密钥,如果密钥存在,则必须更新与其对应的arraylist。如果它不存在则创建新密钥,创建与其对应的arraylist,用值填充arraylist。
  3. 最后,我必须迭代整个地图并使用键和值。
  4. 如何实施?我是否遵循正确的方法?如果不是什么是更好的方法?

    由于

1 个答案:

答案 0 :(得分:0)

  1. 使用Java中的列表,您无需事先了解大小。这是阵列的要求。因此,只需创建您的地图

    地图> myMap = new HashMap<>();

  2. 这应该有效

    if(myMap.containsKey(someKey)){   myMap.get(someKey)。新增(someValue中); //将值添加到地图中已有的列表中 } else {   myMap.put(someKey,Arrays.asList(someValue)); //插入新的键/值 }

  3. 如果你需要迭代列表中的所有值,那么你需要一个嵌套的for循环

    for(Map.Entry> entry:myMap.entrySet()){   //你的key = entry.getKey()   for(ValueType value:entry.getValue()){     //使用你的价值   } }

  4. http://docs.oracle.com/javase/7/docs/api/java/util/Map.html

    希望有所帮助。