以下代码是从 google io 开源中获取的。
com.google.android.apps.iosched.util.Lists.java http://code.google.com/p/iosched/source/browse/android/src/com/google/android/apps/iosched/util/Lists.java
public static <E> ArrayList<E> newArrayList(E... elements) {
int capacity = (elements.length * 110) / 100 + 5;
ArrayList<E> list = new ArrayList<E>(capacity);
Collections.addAll(list, elements);
return list;
}
com.google.android.apps.iosched.util.Sets.java http://code.google.com/p/iosched/source/browse/android/src/com/google/android/apps/iosched/util/Sets.java
public static <E> HashSet<E> newHashSet(E... elements) {
int capacity = elements.length * 4 / 3 + 1;
HashSet<E> set = new HashSet<E>(capacity);
Collections.addAll(set, elements);
return set;
}
容量变量应该是什么意思? 提前致谢!
最佳答案
这些集合在内部使用固定数组来保存数据。 “容量”是数组可以容纳的初始元素数。当您添加的元素多于当前容量时,必须扩展内部数组。这是一项耗时的操作,如果您知道将添加多少元素,初始容量会尽力提供帮助。
关于android - Android google io 2011 java源代码中的MAGIC number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9845363/