【发布时间】:2013-08-25 16:43:16
【问题描述】:
我有以下HashMap,其中key 是String,value 由ArrayList 表示:
HashMap<String, ArrayList<String>> productsMap = AsyncUpload.getFoodMap();
我的应用程序中还实现了另一个ArrayList<String> foods。
我的问题是,从我的第二个 ArrayList 中找出我的 HashMap 是否包含特定 String 的最佳方法是什么?
我试过没有成功:
Iterator<String> keySetIterator = productsMap.keySet().iterator();
Iterator<ArrayList<String>> valueSetIterator = productsMap.values().iterator();
while(keySetIterator.hasNext() && valueSetIterator.hasNext()){
String key = keySetIterator.next();
if(mArrayList.contains(key)){
System.out.println("Yes! its a " + key);
}
}
【问题讨论】:
-
您的
key值是否应该是特定字符串? -
是的。它应该是一个特定的字符串。
-
'没有成功'不是问题描述。
-
没有循环的替代方法 productsMap.toString().contains(key) 。当然可能会有一些问题,比如键可以是一些不同值或映射键的一部分,这不适用于大地图。无论如何,这只是一种选择。
标签: java android arraylist iterator hashmap