Java中如何通过布尔值获取HashMap筛选器的键集? Map Map=newhashmap(); map.keySet();//过滤真实值

Java中如何通过布尔值获取HashMap筛选器的键集? Map Map=newhashmap(); map.keySet();//过滤真实值,java,dictionary,hashmap,Java,Dictionary,Hashmap,您可以对入口集进行过滤,然后使用映射仅获取具有流的密钥 Map map = new HashMap<Long, Boolean>(); map.keySet(); // filtering the true value Set resultKeys=map.entrySet().stream().filter(map.Entry::getValue) .map(map.Entry::getKey).collect(Collectors.toSet()); 您可以在入口集上过滤,然

您可以对
入口集进行
过滤
,然后使用
映射
仅获取具有流的密钥

Map map = new HashMap<Long, Boolean>();
map.keySet(); // filtering the true value
Set resultKeys=map.entrySet().stream().filter(map.Entry::getValue)
.map(map.Entry::getKey).collect(Collectors.toSet());

您可以
入口集
上过滤
,然后使用
map
仅获取具有流的密钥

Map map = new HashMap<Long, Boolean>();
map.keySet(); // filtering the true value
Set resultKeys=map.entrySet().stream().filter(map.Entry::getValue)
.map(map.Entry::getKey).collect(Collectors.toSet());

像这样试试看。您正在筛选值上的
Map.Entry
,然后将
条目
映射到

Set<Long> resultKeys = map.entrySet().stream().filter(Map.Entry::getValue)
    .map(Map.Entry::getKey).collect(Collectors.toSet());

像这样试试。您正在筛选值上的
Map.Entry
,然后将
条目
映射到

Set<Long> resultKeys = map.entrySet().stream().filter(Map.Entry::getValue)
    .map(Map.Entry::getKey).collect(Collectors.toSet());

如果
,则可以迭代映射的条目集,并将
添加到集合中:

[1, 3]

如果
,则可以迭代映射的条目集,并将
添加到集合中:

[1, 3]

这方面没有内置的方法。您需要编写自己的代码,该代码将迭代所有映射条目,检查条目所包含的值,并根据该值决定是否要在集合中存储条目键。没有内置的方法。您需要编写自己的代码,该代码将迭代所有映射条目,检查条目包含的值,并根据该值决定是否要在集合中存储条目键。