Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArrayList初始化后是否可以更改其大小?_Java_Arraylist - Fatal编程技术网

Java ArrayList初始化后是否可以更改其大小?

Java ArrayList初始化后是否可以更改其大小?,java,arraylist,Java,Arraylist,在我参加的一个班级的实践测试中,有以下问题: 对或错。初始化ArrayList后,无法更改ArrayList的大小 立即看这个问题,我会认为答案是错误的。如果初始化ArrayList,可以继续向其添加无限元素,ArrayList将自动调整大小。然而,答案键声称答案是正确的。为什么会这样?幕后有什么我不明白的事情吗 编辑:老师告诉我这实际上是答案键中的一个错误。谢谢你的帮助。是的。设置一个值只会设置一个初始长度。如果您尝试将一个元素添加到“完整”列表中,它的大小将增加。只有数组的大小是固定的 编辑

在我参加的一个班级的实践测试中,有以下问题:

对或错。初始化ArrayList后,无法更改ArrayList的大小

立即看这个问题,我会认为答案是错误的。如果初始化ArrayList,可以继续向其添加无限元素,ArrayList将自动调整大小。然而,答案键声称答案是正确的。为什么会这样?幕后有什么我不明白的事情吗


编辑:老师告诉我这实际上是答案键中的一个错误。谢谢你的帮助。

是的。设置一个值只会设置一个初始长度。如果您尝试将一个元素添加到“完整”列表中,它的大小将增加。只有数组的大小是固定的

编辑:

对或错。更改后无法更改ArrayList的大小 ArrayList已初始化


这句话是假的。可以通过添加更多元素轻松更改大小。

是。设置一个值只会设置一个初始长度。如果您尝试将一个元素添加到“完整”列表中,它的大小将增加。只有数组的大小是固定的

编辑:

对或错。更改后无法更改ArrayList的大小 ArrayList已初始化

这句话是假的。可以通过添加更多元素轻松更改大小。

错误。引用一下,它将数组列表解释为

列表接口的可调整大小的数组实现

此外,它还解释了

每个ArrayList实例都有一个容量。容量是指容量的大小 用于存储列表中元素的数组。它总是在 至少与列表大小一样大。当元素添加到 ArrayList,其容量会自动增长

此外,对于ArrayList,初始化时不能设置大小。但是,可以设置初始容量。Size是列表中的元素数。

False。引用一下,它将数组列表解释为

列表接口的可调整大小的数组实现

此外,它还解释了

每个ArrayList实例都有一个容量。容量是指容量的大小 用于存储列表中元素的数组。它总是在 至少与列表大小一样大。当元素添加到 ArrayList,其容量会自动增长


此外,对于ArrayList,初始化时不能设置大小。但是,可以设置初始容量。Size是列表中的元素数。

记住。。这涉及到两件事。。 容量和大小

容量表示列表可以包含的最大元素数 容纳其中,大小表示元素的数量 当前在列表中。容量将自动 根据以下情况增加一定数量(10、20、30..) 大小等于容量后的当前大小

如果有人问你这个问题,如果这是有问题的代码,则无法更改大小。。。(常见java问题)


记住。。这涉及到两件事。。 容量和大小

容量表示列表可以包含的最大元素数 容纳其中,大小表示元素的数量 当前在列表中。容量将自动 根据以下情况增加一定数量(10、20、30..) 大小等于容量后的当前大小

如果有人问你这个问题,如果这是有问题的代码,则无法更改大小。。。(常见java问题)

如果它考虑到在ArrayList中创建了一个新数组(以及复制到其中的旧数组的数据),并且达到了该大小,那么它可能是正确的(以扭曲的方式)。但这就像是说,因为你更换了计算机中的一个部件,所以它是一个新的部件

我认为你应该去问一下答案的解释。

如果考虑到在ArrayList中创建了一个新数组(以及复制到其中的旧数组的数据),如果达到该大小,那么答案可能是正确的(以一种扭曲的方式)。但这就像是说,因为你更换了计算机中的一个部件,所以它是一个新的部件


我认为您应该去询问答案的解释。

错误,当您添加或删除列表元素时,java中的Arraylist可以随时更改。

错误,当您添加或删除列表元素时,java中的Arraylist可以随时更改。

数组的大小不是动态的。它不生长

为了克服这个问题,Collections推出了这个特性

ArrayList大小是动态的。如果我们用初始容量初始化它,它将创建一个具有相同容量的arraylist。如果代码添加的容量大于初始容量,则基于负载系数,大小将增加

下面是一个例子,说明了这一点:

public static void main(String[] args) {
        // TODO Auto-generated method stub
        ArrayList<String> arr= new ArrayList<String>(2);
        arr.add("apple");
        arr.add("apple");
        arr.add("apple");
        System.out.println(arr);
    }

根据您的问题,当您初始化Arraylist[此处我给出的容量为2]时,大小为0(即arr.size()为0),但如果在Arraylist分配“apple”后打印大小,则大小将为3。

数组的大小不是动态的。它不生长

为了克服这个问题,Collections推出了这个特性

ArrayList大小是动态的。如果我们用初始容量初始化它,它将创建一个具有相同容量的arraylist。如果代码添加的容量大于初始容量,则基于负载系数,大小将增加

下面是一个例子,说明了这一点:

public static void main(String[] args) {
        // TODO Auto-generated method stub
        ArrayList<String> arr= new ArrayList<String>(2);
        arr.add("apple");
        arr.add("apple");
        arr.add("apple");
        System.out.println(arr);
    }

根据您的问题,当您初始化Arraylist[此处我给出的容量为2]时,大小为0(即arr.size()为0),但如果在Arraylist分配“apple”后打印大小,则大小将为3。

这是错误的。事实上,
ArrayList
有一个
size()
方法,所以您可以自己尝试一下。您确定问题是关于ArrayList而不是简单数组的吗?我们是在谈论
java吗
[apple, apple, apple]