首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android中的魔术数字google io 2011 java源

Android中的魔术数字google io 2011 java源
EN

Stack Overflow用户
提问于 2012-03-24 03:27:47
回答 2查看 209关注 0票数 4

下面的代码取自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

代码语言:javascript
复制
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

代码语言:javascript
复制
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;
}

容量变量应该是什么意思?提前感谢!

EN

回答 2

Stack Overflow用户

发布于 2012-03-24 03:35:41

这些集合在内部使用固定数组来保存数据。"capacity“是数组可以容纳的元素的初始数量。当您添加的元素多于当前容量时,必须扩展内部数组。这是一个耗时的操作,如果您知道将添加多少元素,则初始容量将尝试提供帮助。

票数 2
EN

Stack Overflow用户

发布于 2012-03-24 03:33:24

这是ArrayList类的一部分。预先设置容量可以防止大型列表在填充时必须逐渐增加其大小,而是立即分配所需的空间。

http://docs.oracle.com/javase/1.4.2/docs/api/java/util/ArrayList.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9845363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档