Java 8 HashMap的分离链表 从Java 2到Java 1.7,HashMap在分离链表上的改变并不多,他们的算法基本上是相同的.如果我们假设对象的Hash值服从平均分布,那么获取一个对象需要的次数时间复杂度应该是O(NM)O(NM)(原为E(NM)E(NM),但数学期望应改为E(N2M)E(N2M)疑有误,译者注).Java 8 在没有降低哈希冲突的度的情况下,使用 红黑树 代替 链表 ,将这个值降低到了O(log(NM))O(log(NM))(与上同,疑有误,译者注). 数据越多…