在Java8中对于Map的操作新增的compute之类的方法,对于开发中很有帮助,在此处整理一下其用法,以及方法之间的异同,具体的先总结一下如下:
总结
computeIfPresent
就是根据方法来,返回方法中的值对原值进行替换,新的为null就删除键值对,但是原值为null新值不为null依然返回nullcomputeIfAbsent
就是根据旧值来,旧的没有再根据方法返回的来,旧值存在就返回旧值compute
就是两者结合,新值为null,就删除键值对;新值不为null就进行替换。
1 | package test; |