之前开发很少有看源码的习惯,现在开始有时间看一点。之前一直觉得Set和Map集合很像,看了看JDK的源码,才知道了原来Set的底层就是通过Map来实现的。 HasSet的构造方法 可以看到实际构造HasSet的时候都是通过构造一个HasMap来实现 还有添加元素的add、remove等方法,也是通过map的put、remove等方法给HasSet集合里添加 基于树的TreeSet和TreeMap也是一样 还有一点就是TreeMap的put方法 可以发现他会给put进来的元素按树的左子树比又子树小的规则放置。 做开发源码还是要学着看的,即便刚开始只能看一些简单的,但总会有提升的。