java - HashMap 键和给定列表之间的交集列表

标签 java hashmap

这是一个简单的问题。我有一个 String 和 Double 的 HashMap。这是一个玩具示例。

HashMap<String, Double> hm = new HashMap<String, Double>();
hm.put("a", 2.0);
hm.put("b", 4.0);
hm.put("c", 1.0);
hm.put("d", 3.0);

如果我有一个列表 tokensList 用于例如[b,d]。可以,我得到一个列表,它是列表的元素和 HashMap 的键之间的交集。

我试过的方法有效。但是,是否有我缺少的内置功能。

List<String> newList = new ArrayList<String>();
for (String word : tokensList) {
    if (hm.containsKey(word.trim())) {
        newList.add(word);
    }
}

最佳答案

你可以使用 List::retainAll .

List<String> newList  = new ArrayList<>(hm.keySet());
newList.retainAll(tokensList);

关于java - HashMap 键和给定列表之间的交集列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61231161/

相关文章:

java - 如果将 TreeMap 作为 Map 传递给它,Treemap 会使用吗

Java 集合 HashTable 和 HashMap

java - 移动到相邻空间拾取硬币的二维阵列游戏

Java子字符串使用lastindexOf返回特定长度

java - Google App Engine - 如何让演示发挥作用?

java - 如何使用 MATLAB 数组作为 HashMap java 对象的键?

Java:从文件中保存和读取 HashMap

java - 调用 getter 和 setter 的映射方法的单元测试

java - 无法从 struts.properties 读取某些字符串

java - 如何形成从 HashMap 中提取的值的有序列表?