类图及说明如下:
HashMap、HashSet、LinkedHashSet、TreeSet的关系-LMLPHP
可以看到HashSet是通过HashMap实现的,LinkedHashSet是通过accessOrder=false的LinkedHashSet实现,有趣的是这种聚合关系是在父类HashSet的构造函数中确定的,LinkedHashSet使用的是
HashMap、HashSet、LinkedHashSet、TreeSet的关系-LMLPHP
HashMap、HashSet、LinkedHashSet、TreeSet的关系-LMLPHP
其中dummy便对应accessOrder,此处是ignored的。
而LinkedHashSet的构造器如下:
HashMap、HashSet、LinkedHashSet、TreeSet的关系-LMLPHP
即父类HashSet通过不同的构造器选取需要的聚合类实例。
 
04-18 05:19