Java 集合

标签 java hashmap

我在 UI 表单中的每一行之后将以下内容添加到 HashMap 集合中

声明

Map<String, List<String>> map = new HashMap<String, List<String>>();

List<String> valSetOne = new ArrayList<String>();

代码片段

    valSetOne.add("BMW");
    valSetOne.add("Audi");
    map.put("A1", valSetOne);

当我在 UI 的第二行时,我想检查上面的组合 存在于 HashMap 集合中。

如何检查每一行中值的组合?

最佳答案

如果您需要检查值是否存在的性能并且不关心每行中的顺序,您可以使用 Set 接口(interface)并使用 HashSet 而不是 List

Map<String, Set<String>> map = new HashMap<String, Set<String>>();

Set<String> valSetOne = new HashSet<String>();

检查,使用

Set<String> set= map.get("A1");//returns null if key does not exists(you also use containsKey() to check if key exists)
set.contains("value")

如果你不需要性能,你可以使用

List<String> valSetOne = new ArrayList<String>();
List<String> list = map.get("A1");//returns null if key does not exists(you also use containsKey() to check if key exists )
list .contains("value") to check if it exists

关于Java 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42087604/

相关文章:

java - 如何在我定义的 Java 对象中覆盖返回具有唯一实体 ID 的唯一哈希码值的哈希码方法?

c++ - std::unordered_map - Inserting elements is “attempting to reference a deleted function”

java - 为什么这个 for 循环不起作用?

java - 如何处理 android fragment 中的后退按钮按下

java - 无法在 apache tomcat 上运行 servlet。它说,请求的资源不可用

Java setter、getter(掷骰子)

java - 如何从字符串中获取数字和字母?

java - 从属性文件读取 v/s HashMap 查找

java - Java 的 HashMap.get 是否以任何方式修改映射?

java applet keytool 无法识别