前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何判断list、map集合是否为空[通俗易懂]

如何判断list、map集合是否为空[通俗易懂]

作者头像
全栈程序员站长
发布2022-07-04 10:55:57
3.1K0
发布2022-07-04 10:55:57
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

前言

最近在面试的时候,经常会遇到一个问题:请问如何判断一个list/map集合为空? 这个问题我们可以反向思考,一个集合不为空,假设有一个对象 map,要满足 map != null && !map.isEmpty() 在这里会出现一个误区,需要特别注意: a.

代码语言:javascript
复制
List<T> list=new ArrayList<>();
if ( !list.isEmpty() && list! = null)
{ 
   
 System.out.println("list不为空");
} else { 
   
System.out.println("list为空");
}

上面一段代码是错误 这就相当与,你要要到商店买商品。 list!=null 首先判断是否有商店, 而!list.isEmpty()则没有先判断商店是否存在,而是直接判断商店是否有商品。 总结用法:如果连商店都没有,何来的的商品可买,上面代码会出现空指针问题 所以一般正确的判断是:

代码语言:javascript
复制
if(list != null && !list.isEmpty()){ 
   
   System.out.println("list不为空");
}else{ 
   
   System.out.println("list为空");
}

b.

代码语言:javascript
复制
if(null == list && list.isEmpty()){ 
   
 System.out.println("list为空");
} else { 
   
 System.out.println("list不为空");
}

这种情况不管怎么都不会判断出为空,因为lsit == null不为空,如果把list置为空,会出现空指针错误. 正确情况:

代码语言:javascript
复制
if(null == list || list.isEmpty()){ 
   
 System.out.println("list为空");
} else { 
   
 System.out.println("list不为空");
}

list.size()和 list.isEmpty()在数据量小的时候没有什么区别,但是在数据量多的时候,isEmpty()的效率高 map同理可以用上述正确方式来判断集合为空的情况.

这里 java面试基础题 有java基础面试题,大家可以下载做做,希望大家可以找到一个好的工作!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149126.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档