- /**
- * 默认无参构造, 初始化了一个空的 HashMap
- */
- public HashSet() {
- map = new HashMap<>();
- }
- /**
- * 指定容量构造
- */
- public HashSet(int initialCapacity) {
- map = new HashMap<>(initialCapacity);
- }
- /**
- * 指定容量和负载因子
- */
- public HashSet(int initialCapacity, float loadFactor) {
- map = new HashMap<>(initialCapacity, loadFactor);
- }
- /**
- * 指定容量, 负载因子构造一个新的集合, 非 public 有访问权限
- * 只有 LinkedHashSet 涉及到
- */
- HashSet(int initialCapacity, float loadFactor, boolean dummy) {
- map = new LinkedHashMap<>(initialCapacity, loadFactor);
- }
- /**
- * 指定 collection 集合构造
- */
- public HashSet(Collection c) {
- map = new HashMap<>(Math.max((int) (c.size()/.75f) + 1, 16));
- addAll(c);
- }
来源: http://www.jianshu.com/p/1397fb3ed5fc