LinkedHashSet是对LinkedHashMap的简单封装,实现了Set集合根据插入顺序进行迭代的功能。
定义
** 继承自HashSet,而不是继承LinkedHashMap **
代理到LinkedHashMap
四个构造方法
注意这里直接调用父类的构造器,而LinkedHashSet继承自HashSet,那么是如何代理到LinkedHashMap上的呢?
看一下HashSet,存在一个构造器
LinkedHashSet的四个构造器都调用了此构造器,这个构造器是新建一个LinkedHashMap,然后将引用传递给map,然后HashSet和LinkedHashSet就可以通过map的类型动态绑定来将方法代理到不同的Map。