java – 按值过滤ConcurrentHashMap
发布时间:2020-05-28 19:38:56 所属栏目:Java 来源:互联网
导读:我正在尝试过滤ConcurrentHashMap String,LinkedList String通过LinkedList String的大小. 换句话说,我想过滤掉ConcurrentHashMap中的元素,其中LinkedList String的大小.大于4.如何通过Java 8完成它? 如果你有一个ConcurrentMap,你可以简单地创建一个条目流,
|
我正在尝试过滤ConcurrentHashMap< String,LinkedList< String>>通过LinkedList< String>的大小. 换句话说,我想过滤掉ConcurrentHashMap中的元素,其中LinkedList< String>的大小.大于4.如何通过Java 8完成它? 解决方法如果你有一个ConcurrentMap,你可以简单地创建一个条目流,通过调用entrySet()然后调用
stream()并通过应用
filter保持值的长度大于4的条目.最后,你可以再次将它收集到ConcurrentMap中内置
Collectors.toConcurrentMap.
ConcurrentMap<String,LinkedList<String>> map = new ConcurrentHashMap<>();
ConcurrentMap<String,LinkedList<String>> result =
map.entrySet()
.stream()
.filter(e -> e.getValue().size() > 4)
.collect(Collectors.toConcurrentMap(Map.Entry::getKey,Map.Entry::getValue));
或者,您可以通过修改地图来就地执行此操作 map.values().removeIf(l -> l.size() <= 4); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
