1
我想檢查一個值是否存在。檢查List是否是HashMap中的值
我的代碼:
public static final Map<String, List<String>> m = new HashMap<>();
if(m.containsValue("gummi")) {...}
我的問題是該值是一個列表。 如何檢查清單?
我想檢查一個值是否存在。檢查List是否是HashMap中的值
我的代碼:
public static final Map<String, List<String>> m = new HashMap<>();
if(m.containsValue("gummi")) {...}
我的問題是該值是一個列表。 如何檢查清單?
從List.equals
Javadoc中引用:
換句話說,兩個列表被定義爲等於如果它們包含以相同的順序相同的元件。
因此,要檢查是否有存在的價值,你可以創建一個列表,並調用containsValue
與List
,因爲這種方法會調用equals
確定的平等。如果相同元素的順序相同,則會找到匹配項。
您可以輕鬆創建值數組的List
與Arrays.asList
:
if(m.containsValue(Arrays.asList("gummi"))) {...}
示例代碼:
Map<String, List<String>> m = new HashMap<>();
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
m.put("key", list);
if (m.containsValue(Arrays.asList("1", "2"))) {
System.out.println("contains value");
}
這要求主叫者知道這是一個值列表中的所有成員。 –