java – 按值过滤ConcurrentHashMap
发布时间:2020-12-14 23:56:36 所属栏目: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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读