当前位置:嗨网首页>书籍在线阅读

26-其他说明

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

其他说明

ConcurrentHashMap 还有远比前一部分内容更多的方法。

  • forEachKey()forEachValue() :这些方法与 forEach() 方法相似,但在本案例中,lambda表达式却同时处理了 ConcurrentHashMap 的key和value。
  • searchEntries()searchKeys()searchValues() :这些方法与之前介绍过的 search() 方法很相似。但是,在本案例中,作为参数来传递的lambda表达式接收存储在 ConcurrentHashMap 中元素的一个 Entry 对象、一个key或一个value。
  • reduceEntries()reduceKeys()reduceValues() :这些方法与之前介绍过的 reduce() 方法很相似。但是,在本案例中,作为参数来传递的lambda表达式接收存储在 ConcurrentHashMap 中的元素的一个 Entry 对象、一个key或一个value。
  • reduceXXXToDouble()reduceXXXToLong()reduceXXXToInt() :这些方法可以通过生成一个 doublelong 或者 int型 值来促使 ConcurrentHashMap 的元素聚合起来。
  • computeIfPresent() :该方法是 computeIfAbsent() 方法的补充。在本案例中,它接收一个key和一个实现 BiFunction 接口的lambda表达式。如果key已经存在于HashMap中,该方法就会执行lambda表达式来计算key的新value。 BiFunction 接口以key和实际的value作为接收参数,它还会返回一个新的value。
  • merge() :该方法以key、value以及实现BiFunction接口的lambda表达式作为接收参数。如果key不存在于 ConcurrentHashMap 中,则它就会插入对应的value。如果它存在,则执行 BiFunction 来计算与key相对应的新value。 BiFunction 接口以key和它的实际value作为接收参数,并返回与key对应的新value。
  • getOrDefault() :该方法以key和一个默认的value作为接收参数。如果key存在于 ConcurrentHashMap 中,则它会返回对应的value。