如何检查TreeMap <string,arraylist <string =“”>&gt;包含值?在Java中</string,>

时间:2013-08-10 19:49:19

标签: java

我只是想知道如何检查TreeMap&gt;包含Java中的值? 例如:

/*I have TreeMap<String,ArrayList<String>> map with these elements
 * {color = ["red","blue","green"], shape=["square", "circle"]}
 */
 System.out.println(map.containsValue("square")); //This return false
 System.out.println(map.values().contains("square")); //This return false also

当我使用containsValue()或contains()方法时,我总是得到错误。有人知道为什么,可以给我一些建议吗?

由于 编

3 个答案:

答案 0 :(得分:3)

下面的内容可以使用

 Map<String,ArrayList<String>> map=new TreeMap<String, ArrayList<String>>();
            Collection<ArrayList<String>> values=map.values();
            for(ArrayList<String> list:values)
            {
                list.contains("text_to_search")
                {

                }
            }

答案 1 :(得分:1)

您正在测试地图是否包含字符串“square” - 但地图中的值是ArrayList&lt; String&gt;对象。

如果您知道自己正在寻找形状,可以先获取“形状”列表,然后测试它是否包含特定形状“方形”。

  ArrayList<String> shapes = map.get("shape");
  boolean containsSquare = shapes.contains("square");

答案 2 :(得分:0)

public boolean valueExists(String value){
for(Map.Entry<String,ArrayList<String>> entry : treeMap.entrySet()) {
  String key = entry.getKey();
  ArrayList<String> values = entry.getValue();
  for (String str:values){
     if (value.equals(str)){
         return true;
     }
  }

}
return false;
}