arraylist中的参数(int初始容量)是什么意思

新手上路,请多包涵

参数 (int initialCapacity)ArrayList 中是什么意思,我认为这是元素的数量,但当我这样做时它不起作用:

 public class MyClass {
    private ArrayList<Integer> arr;
    public MyClass(int n_elements) {
        arr = new ArrayList<Integer>(n_elements);
    }
}

原文由 Ismail Marmoush 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 379
2 个回答

它是初始容量,即 ArrayList 将分配作为项目内部存储的项目数。

ArrayList 可以包含“任意数量的项目”(只要你有内存)并且在进行大量初始插入时你可以告诉 ArrayList 分配更大的存储空间作为开始在尝试为下一项分配更多空间时不要浪费 CPU 周期。

例子:

 ArrayList list = new ArrayList<Integer>(2);
list.add(1); // size() == 1
list.add(2); // size() == 2, list is "filled"
list.add(3); // size() == 3, list is expanded to make room for the third element

原文由 Patrick 发布,翻译遵循 CC BY-SA 2.5 许可协议

实际上,它是在后台调整大小之前可以向 ArrayList 添加多少元素,如果使用正确,可以节省一些周期。

原文由 Carl 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题