java8 map compute和computeIfAbsent


computeIfAbsent: 如果map里没有这个key,那么就按照后面的这个function添加对应的key和value
如果要这个key,那么就不添加
babuffer.weightClicks.computeIfAbsent(currEntry.getKey(), k -> {
babuffer.size = babuffer.size + 1;
return new Double[] {0d, 0d};
});

compute:如果map里有这个key,那么function输入的v就是现在的值,返回的是对应value,如果没有这个key,那么输入的v是null
babuffer.weightClicks
.compute(currEntry.getKey(), (k, v) -> new Double[] {v[0] + currEntry.getValue()[0],
v[1] + currEntry.getValue()[1]});


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM