Map如何根据key指定条件进行过滤筛选
更新时间:2023年09月27日 08:44:57 作者:Yang疯狂打码中
这篇文章主要介绍了Map如何根据key指定条件进行过滤筛选问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Map根据key指定条件进行过滤筛选
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
map.put("web_1","web1");
map.put("web_2","web2");
map.put("app_1","app1");
map.put("app_2","app2");
//根据key的指定前缀筛选Map
map.entrySet().stream().filter(tmMap -> tmMap.getKey().substring(0,3).equals("web")).forEach(tmMap->{
System.out.println(tmMap.toString());
});
}控制台:

通过给定的key筛选出只含有这些key的map
最近做项目遇到一个需求:
有一个list,里面的元素包含于一个map的key值,然后得出只含有这个list元素的map。
网上查了很多资料,都没有查到我想要的结果,最后还是在外国网站StackOverflow上找到的答案,不得不说这个外国网站里真是各种大神啊!
其实总结下来只有一行代码
map.keySet().retainAll(list);
但是需要注意
执行完这句代码后map会跟着发生变化,如果有多个不同的list,想通过这些list和原有的map去得到不同的筛选完的map,就得像下面这样做了:
Map<String, Object> newMap = new HashMap<String, Object>(map); newMap.keySet().retainAll(list);
将上面这两句代码封装成方法,最后返回newMap就可以了。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
spring项目自定义全局响应处理器统一处理响应结果的实现步骤
本文详细描述了如何通过@ControllerAdvice和ResponseBodyAdvice在SpringMVC项目中创建自定义响应处理器,以及如何使用Wrapper类包装和标准化返回结果,感兴趣的朋友跟随小编一起看看吧2025-01-01
IntelliJ IDEA配置java环境及解决IDEA不能直接运行单个JAVA文件的问题
这篇文章主要介绍了IntelliJ IDEA配置java环境及解决IDEA不能直接运行单个JAVA文件的问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-07-07
MyBatis中foreach标签的collection属性的取值方式
这篇文章主要介绍了MyBatis中foreach标签的collection属性的取值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-08-08


最新评论