java - 如何从 2 个列表制作 map ?

标签 java list java-8 java-stream

我有 2 List<String> s,第一个代表所有项目的列表,第二个代表选择的项目。

所以我会得到一个 Map<String, Boolean> , 从这些列表中,其键都是 list1 的项目,值是 list2.contains(itemOfList1) ( truefalse )。

Map<String, Boolean> mapOfDataListTest = itemList.stream()
.collect(Collectors.toMap(key -> key, value -> true));

最佳答案

value -> true 替换为 lambda item -> list2.contains(item) 或方法引用 list2::contains

itemList.stream()
        .collect(Collectors.toMap(Function.identity(), list2::contains));

并阅读@michalk的评论。

关于java - 如何从 2 个列表制作 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57636632/

相关文章:

java swing-转义键事件在外观上导致 classCastException

java - getresultlist - 查询正常,但列表中的数据重复

java - 防止Linux子进程在父进程终止时终止

java - 在我的类的初始化程序中创建后,我的数组不会在所有函数中继承。出了什么问题吗?

python - 根据另一个列表对列表 'in place' 重新排序

python - 比较相同索引python中列表中的项目

Java 8 流 - 将方法传递给过滤器

java - 如何在 Collections.forEach() 中打印计数

java - 由于 RaceCondtion,使用流迭代 LinkedList 正在改变结果列表

java - Osgi Bundle 更新和 ResourceBundle