带有字符串和数组列表的 HashMap - 错误消息

use*_*255 3 java arraylist hashmap

我收到一条错误消息。

对 java.util.Map.ContainsValue 的可疑调用给定对象不能包含 String 实例(ArrayList 除外)

这是我正在使用的程序的一个小版本。有人可以建议如何解决这个问题吗?请发布代码。我不是一个很强的程序员。

import java.util.ArrayList;
import java.util.HashMap;


public class Main {
  public static void main(String[] a) {
    HashMap<String,ArrayList> map = new HashMap<String,ArrayList>();
    //hashMap.put(key, new ArrayList());
    map.put("key1", new ArrayList());
    map.get("key1").add("value2");

    //System.out.println(map.containsKey("key1"));
    System.out.println(map.containsValue("value2"));
  }
}
Run Code Online (Sandbox Code Playgroud)

Bri*_*ach 5

您有一个sHashMap代表String键,ArrayLists 代表值:

HashMap<String,ArrayList> map = new HashMap<String,ArrayList>();
Run Code Online (Sandbox Code Playgroud)

然后你尝试看看它是否包含一个值String

System.out.println(map.containsValue("value2"));
Run Code Online (Sandbox Code Playgroud)

这非常可疑。因为它永远不可能拥有那样的东西。