刚发现set的底层是通过map实现的

之前开发很少有看源码的习惯,现在开始有时间看一点。之前一直觉得Set和Map集合很像,看了看JDK的源码,才知道了原来Set的底层就是通过Map来实现的。

HasSet的构造方法

可以看到实际构造HasSet的时候都是通过构造一个HasMap来实现

还有添加元素的add、remove等方法,也是通过map的put、remove等方法给HasSet集合里添加

基于树的TreeSet和TreeMap也是一样


还有一点就是TreeMap的put方法

可以发现他会给put进来的元素按树的左子树比又子树小的规则放置。


做开发源码还是要学着看的,即便刚开始只能看一些简单的,但总会有提升的。

猜你喜欢

转载自blog.csdn.net/kkkkkjava/article/details/78200265