当前位置:网站首页 > 编程语言 > 正文

Yml文件配置list map(yml文件配置对象)



Java精选面试题 (微信小程序): 5000+ 道面试题和 选择题, 真实面经 , 简历模版 ,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、 Docker、K8s、Flink、Spark、架构设计、大厂真题等,在线随时刷题!


Map的数据操作,你是不是还只会put、get?

Map是我们日常编程中十分常用的数据接口,的在JDK8中,Map引入了几个新方法,可以简化我们对Map中数据的操作。

目前JDK的最新LTS版本已经更新到21了,这几个在JDK8引入的Map”新“方法其实也是”老“方法了,还没熟练使用也太out了,快来看看你都”学废“了吗?


getOrDefault

这个方法名很直观,见名知意:尝试获取key对应的值,如果未获取到,就返回默认值。

一个使用的例子,新写法会比老写法更加简洁:

 
  

foreach

 
  

merge

blockquote id="35EI9BM7">推荐划水摸鱼神器: https://www.yoodb.com/slack-off/home.html

/blockquote>

  • 计算后,更新到Map中<="" p="">

  • 这个方法在某些场景中挺好用的,代码简洁易懂,例如:我们有1个List,要统计List中每个元素出现的次数。我们要实现的逻辑是,遍历List中的每个元素,如果这个元素在Map中存在,Map中的值+1;如果不存在,则放入Map中,次数(值)为1。

     
      

    可以看到我们使用merge方法的话,只用1行就简洁实现了这个逻辑。

    putIfAbsent

    也是一个见名知意的方法:不存在key或者值为null时,才将键值对放入Map。跟put方法相比,这个方法不会直接覆盖已有的值,在不允许覆盖旧值的场景使用起来会比较简洁。

    computer 
      

    computer方法需要传入2个参数:key、function。主要有3步操作

    获取到key对应的oldValue,可能为null

  • 经过function计算获取newValue

  • put(key, newValue)

    还是以刚刚统计单次次数需求为例,看一下computer的写法:

    computeIfAbsent 
      

    看名字就知道是compute方法衍生出来的方法,这个方法只在key不存在的时候,执行computer计算,如果说key对应的value存在,就直接返回这个value。

    例如,我们需要计算斐波那锲数列的时候,可以使用这个方法来简化代码:

    computeIfPresent 
      

    这个是computeIfAbsent的姊妹方法,区别在于,这个方法是只有key存在的时候,才去执行computer计算和值的更新。

    replace

    这个方法的效果是:

    如果key存在,则更新值

  • 如果key不存在,什么也不做

    总结

    可以看到,这些JDK8引入的Map的方法,都可以在某些特定场景下简化我们的代码,虽然不嫌麻烦的话,put、get等方法都可以搞定,让我想起一张远古的图


    不过在不同的场景使用不同的方法,尽量把代码写的简洁和优雅,才是一个程序猿不断追求的目标吧。

    作者:podongfeng 来源:https://juejin.cn/post/

    公众号“Java精选”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!

    最近有很多人问,有没有技术或摸鱼交流群!加入方式很简单,公众号Java精选,回复“加群”,即可入群!在线摸鱼:https://www.yoodb.com/

    Java精选面试题(微信小程序):3000+道面试题,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架构设计等,在线随时刷题!

    特别推荐:专注分享最前沿的技术与资讯,为弯道超车做好准备及各种开源项目与高效率软件的公众号,「大咖笔记」,专注挖掘好东西,非常值得大家关注。点击下方公众号卡片关注

    文章有帮助的话,点在看,转发吧!

    到此这篇Yml文件配置list map(yml文件配置对象)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

    版权声明


    相关文章:

  • 多级列表的自动编号(多级列表自动编号消失)2026-02-24 22:27:09
  • Tp9950(tp9950芯片支持360全景吗)2026-02-24 22:27:09
  • 下载扬声器并安装(扬声器安装在哪)2026-02-24 22:27:09
  • 上一章返回目录下一章(上一章返回目录下一章是什么)2026-02-24 22:27:09
  • github 速度慢(github为什么慢)2026-02-24 22:27:09
  • 谷歌怎么收到认证码(谷歌怎么收到认证码信息)2026-02-24 22:27:09
  • ghjk是什么意思(ghjkl什么意思)2026-02-24 22:27:09
  • 网页传输文件到电脑(把文件上传到网页)2026-02-24 22:27:09
  • wps圈1怎么打(wps圈1到圈10怎么打快捷键)2026-02-24 22:27:09
  • yml文件不是绿色的(yml文件颜色不对)2026-02-24 22:27:09
  • 全屏图片