【发布时间】:2019-08-24 09:19:45
【问题描述】:
我有2个List<String>s,第一个代表所有项目的列表,第二个代表选定的项目。
所以我会从这些列表中得到一个Map<String, Boolean>,它的键都是list1 的项目,值是list2.contains(itemOfList1)(true 或false)。
Map<String, Boolean> mapOfDataListTest = itemList.stream()
.collect(Collectors.toMap(key -> key, value -> true));
【问题讨论】:
-
附注:除非您明确想要为
null分配某种语义(或者您明确需要Map用于某些下游方法),否则Map<T, Boolean>几乎没有意义:它在结构上等同于Set<T>,因为检查Boolean.TRUE.equals(map.get(t))与set.contains(t)相同。
标签: java list java-8 java-stream