java中hashMap的底层原理是什么? java中hashSet的底层原理是什么?
在new hashset时,实际内部是在进行hashmap,hashset不允许有重复的值,hashmap不允许有重复的key,HashMap由数组+链表组成的。二者进行存储时会进行一个hashcode方法和一个equals方法,先hashcode判断两个对象的hash值是否相同,如果不同代表不是相同的对象,会在数组中添加上元素,如果相同会再进行equals方法,比较两个对象的内容是否相同,如果相同,代表是同一个元素,不能存储,如果不同,就可以存储。个人理解,可以参考一下。
讲得很好,谢谢!
最直接的方法 https://download.java.net/openjdk/jdk8 找jdk源代码比较下
主要看不懂,有大神能描述表达下吗?多谢!