繁体   English   中英

如何增加一个arraylist的大小

[英]How to increase the size of an arraylist

我正在尝试增加数组列表的大小但它似乎不想工作。

我这样做:

    final int QUEUE_CAPACITY = 27;
    ArrayList adjacencyList = new ArrayList<Integer>(QUEUE_CAPACITY);

但是当我尝试添加具有两个参数的添加内容(索引,值)时,我收到此错误:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 0

您已经建立了ArrayList的初始容量,但列表中仍然没有项目。 如果项目尚不存在,则无法在索引1之前插入项目。

必须使用单参数add方法附加到列表的末尾,或者在双参数add方法中提供0作为索引,以便列表中有一些内容。

好吧,如果你真的想这样做。

你需要使用'整数'来初始化数组,如'0'左右,然后使用set(int index,E element)方法代替add()方法,该方法用指定的元素替换此列表中指定位置的元素。

您看到'0'的任何索引都等于空。

你在调用adjacencyList.add(1, 1)的等价物吗? 如果是这样,您尝试添加到索引1处的空列表,该列表不存在。 只需调用adjacencyList.add(<value>)

此外,在初始化时包括泛型类型:

ArrayList<Integer> adjacencyList = new ArrayList<Integer>(QUEUE_CAPACITY);

PS。 您通常不需要调整ArrayList的初始容量,除非您知道列表很少会变得很小。

这不是它的工作原理。

如果您要在某个位置插入某些内容,则需要将元素存储到列表中的某个位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM