Tha*_*yen 7 java arraylist hashmap
我刚开始学习使用HashMap并阅读java教程,但我遇到了麻烦.
我正在尝试更新HashMap中的List,但是我想获取该密钥的列表,是否有办法更新密钥的特定列表而不必制作... 5个不同的列表并更新它们?
HashMap<String, ArrayList<String>> mMap = new HashMap<String, ArrayList<String>>();
ArrayList<String> list = new ArrayList<String>();
mMap.put("A", list);
mMap.put("B", list);
mMap.put("C", list);
mMap.put("D", list);
Iterator iter = mMap.entrySet().iterator();
if (mMap.containsKey("A"))
{
Map.Entry mEntry = (Map.Entry) iter.next();
list.add("test");
mMap.put("A",list);
System.out.println(mEntry.getKey() + " : " + mEntry.getValue());
}
else if (mMap.containsKey("B"))
{
Map.Entry mEntry = (Map.Entry) iter.next();
list.add("entry");
mMap.put("B",list);
System.out.println(mEntry.getKey() + " : " + mEntry.getValue());
}
Run Code Online (Sandbox Code Playgroud)
Tud*_*dor 14
你可以使用类似的东西:
mMap.get("A").add("test");
mMap.get("B").add("entry");
Run Code Online (Sandbox Code Playgroud)
就像@Tudor所说,使用mMap.get("A").add("foo");
您将相同的精确列表放入每个映射条目中.你的初始行应该是
mMap.put("A", new ArrayList());
mMap.put("B", new ArrayList());
...
mMap.put("Z", new ArrayList());
Run Code Online (Sandbox Code Playgroud)
另外,写一个即时检查的方法
public synchronized void myAdd(String key, String value) {
List<String> there = mMap.get(key);
if (there == null) {
there = new ArrayList<String>();
mMap.put(key, there);
}
there.add(value);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16032 次 |
| 最近记录: |