Java 删除其他映射中嵌套映射的值
在我有简单的地图之前,例如:地图。我需要给这张地图加上钥匙,所以看起来像这张地图 我需要在某些条件下删除条目,然后才能:Java 删除其他映射中嵌套映射的值,java,lambda,stream,Java,Lambda,Stream,在我有简单的地图之前,例如:地图。我需要给这张地图加上钥匙,所以看起来像这张地图 我需要在某些条件下删除条目,然后才能: map.entrySet() .removeIf(matches -> getMinuteDiffrenceBetweenActualAndGivenDate(ChronoUnit.MINUTES, matches.getValue() .getDateOfCreation()) >=
map.entrySet()
.removeIf(matches -> getMinuteDiffrenceBetweenActualAndGivenDate(ChronoUnit.MINUTES, matches.getValue()
.getDateOfCreation()) >= 20);
现在我需要做同样的事情,我不能使用get,因为我需要遍历外部映射中的所有值
我试着这样做:
map.entrySet().removeIf(matches -> matches.getValue().getValue()...
但是我不明白为什么我没有getValue方法来获取Book对象。匹配。getValue是一个Map,而不是Map.Entry,所以它没有getValue方法
您可以迭代外部映射的值并删除内部映射的条目:
编辑:
要删除外部映射的条目,请执行以下操作:
map.entrySet()
.removeIf(entry -> entry.getValue()
.values()
.stream()
.anyMatch(book -> /*some boolean expression*/));
这个问题不清楚。请查看此内容并发布一个简单且可复制的示例:@RavindraRanwala什么不清楚?我提供了我以前使用的方法以及我想要实现的目标。是否有可能删除整个条目?我写错了,因为在它删除整个条目之前,我们删除了值,这导致了现在的错误。@mara122您希望删除哪个条目?一个外部地图的条目还是一个内部地图的条目?外部地图,所以结果将完全删除k&v。是的,这就是我想要的。谢谢,你真棒@埃兰
map.entrySet()
.removeIf(entry -> entry.getValue()
.values()
.stream()
.anyMatch(book -> /*some boolean expression*/));