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

如何判断list、map集合是否为空[通俗易懂]前言最近在面试的时候,经常会遇到一个问题:请问如何判断一个list/map集合为空?这个问题我们可以反向思考,一个集合不为空,假设有一个对象map,要满足map!=null&&!map.isEmpty()在这里会出现一个误区,需要特别注意:a.List<T>list=newArrayList<>();if(!list.isE…

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

前言

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

List<T> list=new ArrayList<>();
if ( !list.isEmpty() && list! = null)
{ 
   
 System.out.println("list不为空");
} else { 
   
System.out.println("list为空");
}

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

if(list != null && !list.isEmpty()){ 
   
   System.out.println("list不为空");
}else{ 
   
   System.out.println("list为空");
}

b.

if(null == list && list.isEmpty()){ 
   
 System.out.println("list为空");
} else { 
   
 System.out.println("list不为空");
}

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

if(null == list || list.isEmpty()){ 
   
 System.out.println("list为空");
} else { 
   
 System.out.println("list不为空");
}

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年6月16日 下午5:00
下一篇 2022年6月16日 下午5:16


相关推荐

  • 王维诗集

    王维诗集nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 华岳西岳出浮云 积雪 一作翠 在太清 连天凝 一作疑 黛色 百里遥青冥 白日为之 一作大 寒 森沈华阴城 昔闻乾坤闭 一作开 造 一作变 化生巨灵 右足踏方止 一作山 左手推削成 天地忽开拆 大河注东溟 遂为西峙岳 一作岳崎 雄雄镇秦京 大君包覆载 至德被群生 上帝伫昭告 金天思奉迎 人 一作神 祗望幸久 何独禅云亭 同庐拾遗过韦

    2026年3月19日
    3
  • ubuntu android studio_android自启动

    ubuntu android studio_android自启动(1)添加头文件:#include(2)在特定驱动结构体中添加early_suspend结构:#ifdefCONFIG_HAS_EARLYSUSPENDstructearly_suspendearly_suspend;#endif(3)在驱动probe函数中注册相关early_suspend结构体:#ifdefCONFIG_HAS_EARLYSUSPEND

    2026年1月17日
    5
  • 学习笔记之pycharm安装库失败

    学习笔记之pycharm安装库失败一个初学者的学习笔记

    2026年3月27日
    2
  • word编号后怎么让其不自动缩进

    word编号后怎么让其不自动缩进在 word 写文档的时候 经常会碰到给一段话编码后 这段话自动缩进 并且没办法用后退删除缩进 有点烦人 如下图 接下来分享解决办法 首先点击选中你的编号 然后点击开始栏的多级列表 gt 再点击定义多级列表 gt 最后把文本缩进调成 0 厘米 done 效果如下 嗯 很棒

    2026年3月17日
    2
  • 拒绝伪推理!2026 满血 AI 大模型横评:腾讯元宝/Kimi/通义千问深度对比

    拒绝伪推理!2026 满血 AI 大模型横评:腾讯元宝/Kimi/通义千问深度对比

    2026年3月13日
    2
  • 编写测试用例的思路_用例测试方法

    编写测试用例的思路_用例测试方法前言用过pytest的小伙伴都知道,pytest的运行方式是非常丰富的,可以说是你想怎么运行怎么运行,想运行哪些运行哪些,那httprunner是否同样可以呢?运行用例的各种方式运行指定路径的用

    2022年8月6日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号