从集合构造a HashSet
和a时LinkedHashSet
,initialCapacity
在默认实现中将其设置为不同的值.
HashSet的:
public HashSet(Collection extends E> c) { map = new HashMap<>(Math.max((int) (c.size()/.75f) + 1, 16)); addAll(c); }
LinkedHashSet:
public LinkedHashSet(Collection extends E> c) { super(Math.max(2*c.size(), 11), .75f, true); addAll(c); }
我确信这有一个完全正确的理由,但我没有看到它.