概述
LinkedHashSet与HashSet类似, 不同的是LinkedHashSet底层使用LinkedHashMap维护元素插入的顺序.
LinkedHashSet继承自HashSet, 只是重写了HashSet的构造方法, 初始化一个LinkedHashMap, 其他均与HashSet相同.
LinkedHashSet构造方法
![Java集合之LinkedHashSet源码分析 Java集合之LinkedHashSet源码分析](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9pL2E4ZTFlMDZjYzllY2Q0MjQ0YzE5ZTI5ZmM5MDlkNmRlMS5qcGc%3D.jpg?w=700)
HashSet的构造方法:
![Java集合之LinkedHashSet源码分析 Java集合之LinkedHashSet源码分析](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9pL2E4ZTFlMDZjYzllY2Q0MjQ0YzE5ZTI5ZmM5MDlkNmRlMi5qcGc%3D.jpg?w=700)
以上几乎就是LinkedHashSet的全部代码了. Linked通过调用父类HashSet专为LinkedHashSet提供的构造方法来完成, 该方法为包访问权限, 并未对外公开.
源码可以说是十分简单了. 此类维护了元素的插入顺序.