map是可以包含 null 和 "" 的,有时候要判断空超麻烦,最近项目中要拿到多个查询条件去数据库中查询,所以拼接的时候要判断他们是否为空,具体看如下代码

从前端拿到需要查询的条件

拿到以后要去进行查询,那么蛋疼的事就来了 各种判断要上,如果查询条件多的话那就gg了,所以我就想到用map吧键值转过来  然后使用下列方法吧空值移除后再进行sql 拼接,这样就简单了许多

工具方法如下:

Map<String, String> map =new HashMap<String, String>();List<String> list = new ArrayList<>();map.put("y", "abc");map.put("z", "abv");map.put("zz", null);map.put("yy", "");System.out.println(map.size());//遍历map for(Map.Entry<String, String> entry : map.entrySet()) {System.out.println(entry.getKey()+"--->"+entry.getValue());if(map.get(entry.getKey())!=null){  if(!"".equals(map.get(entry.getKey()))){
//                  return (String)map.get(entry.getKey());  }else{  list.add(entry.getKey());
//                  map.remove(entry.getKey()); }  }else{  list.add(entry.getKey());// map2.remove(entry.getKey()); }  }for (int i = 0; i < list.size(); i++) {map.remove(list.get(i));}System.out.println("去空值以后:"+map.size());for(Map.Entry<String, String> entry : map.entrySet()) {System.out.println(entry.getKey()+"--->"+entry.getValue());}

这里不能直接在for循环里面直接移除会报错,只能用个list把键存起来再进行移除,虽然有点绕,但工具方法嘛 以后可以直接使用

结果:

我这个是最笨的方法,不知道有没有大神有好一点的方法,求留言。求指教。

Java map去空值相关推荐

  1. java map去重复的数据_使用HashMap去重复数据.

    因为HashMap是键值对形式,所以一个键只对应一个Value,利用这个原理,我们就可以根据某列重复数据做键对重复数据进行处理啦~ 首先先看看我要处理 的数据 然后我最后想要的结果: 需求:根据gro ...

  2. java map详解

    java map详解 Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键对象和一个值对象.其中,键对象不允许重复,而值对象可以重复,并且值对象还可以是 Map 类 ...

  3. Java map 知识

    Java map: Map 接口中键和值一一映射. 可以通过键来获取值 map 的方法如下: 序号 方法描述 1 void clear( )  从此映射中移除所有映射关系(可选操作). 2 boole ...

  4. java map 教程_Java Map接口

    Java Map接口 在本教程中,我们将学习Java Map接口及其方法. Java collections框架的Map接口提供了Map数据结构的功能. 它实现了Collection接口. map的工 ...

  5. 有关于Java Map,应该掌握的8个问题

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:一个线程池 bug 引发的 GC 思考!个人原创+1博客:点击前往,查看更多 前言 最近几天看了几篇有关于Jav ...

  6. java 轻量级map,java Map 遍历速度最优解

    java Map 遍历速度最优解 第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (ite ...

  7. Java Map集合面试题汇总

    转载自 Java Map集合面试题汇总 1. 你都知道哪些常用的Map集合? 2.Collection集合接口和Map接口有什么关系? 3.HashMap是线程安全的吗?线程安全的Map都有哪些?性能 ...

  8. java char类型空值_展望Java的未来:空值类型

    java char类型空值 尽管有前途的Java值类型不是迫在眉睫,但我偶尔还是喜欢在OpenJDK valhalla-dev邮件列表中打听一下,以了解事情的进展情况并了解即将发生的事情. 诚然,由于 ...

  9. BAT Java面试笔试33题:JavaList、Java Map等经典面试题!答案汇总!

    JavaList面试题汇总 1.List集合:ArrayList.LinkedList.Vector等. 2.Vector是List接口下线程安全的集合. 3.List是有序的. 4.ArrayLis ...

最新文章

  1. 特征值 与特征向量(机器学习算法原理与实践)
  2. 在线网站原型设计工具Cacoo
  3. this.byId(SupplierForm).bindElement in SAP UI5
  4. Verilog hdl与VHDL混用详解
  5. 【Uva - 10047 】The Monocycle(搜索,bfs记录状态)
  6. leetcode - 98. 验证二叉搜索树
  7. python网球比赛模拟_【Python】以模块化做比赛模拟
  8. Kerberos安装
  9. 在线数据库链接字符串查询
  10. Leetcode 刷题笔记(二) —— 数组类型解题方法二:双指针法
  11. Python少儿编程入门篇(1)基本数据类型
  12. 北斗短报文的工作原理及作用
  13. PHP教程从入门到精通,PHP课堂笔记(一)网站构建
  14. 国产统信UOS使用FTP跨网段访问桌面云神州网信版windows的共享文件
  15. CMDN Club每周精选(第4期)
  16. GitHub上一些有意思地址/有趣的网站:收藏链接
  17. 浅谈char类型范围
  18. 常见网络故障排查方法
  19. 大厂地震,疯狂裁员大换血,面试冲击大厂Android移动开发工程师就在此时
  20. echart图片库_附录:ECharts图属性介绍-统计图

热门文章

  1. 关于遇到PermissionError: [Errno 13] Permission denied:···这个问题
  2. S4 HANA中新增公司代码AS01创建资产报错,消息号AA821 “公司代码***没有在资产会计核算模块中定义“
  3. java先删后保存数据库据功能,还在手工生成数据库文档?3个步骤自动完成了解一下...
  4. 【Python】Python知识点小记
  5. 云服务器使用Windows系统部署网站
  6. IntArray和Array<Int>
  7. php漂亮显示数据库页面,通过PHP读取mysql数据库数据,在页面展示
  8. 强流量做强变现,抖音电商独立能如愿吗?
  9. 卫星电视转 IPTV流媒体监测方案
  10. JetBrains开发者日见闻(一)之Kotlin/Native 尝鲜篇