gpt4 book ai didi

java - ArrayList 初始大小不起作用

转载 作者:行者123 更新时间:2023-12-02 03:37:30 25 4
gpt4 key购买 nike

我创建了一个名为 StackOfBook 的堆栈类。我需要 2 个堆栈,因此我在主类上创建它:

StackOfBook stack1 = new StackOfBook();

while (true) {
long number = sc.nextLong();
if (number == -1) {
break;
}
stack1.push(number);
}

StackOfBook stack2 = new StackOfBook(stack1.getTop());

这是我的堆栈类:

private int top = 0;
private ArrayList<Long> arrBook;

public StackOfBook(){
arrBook = new ArrayList<Long>();
}

public StackOfBook(int size){
arrBook= new arrBook<Long>(size);
}

public int getTop() {
return this.top;
}

我尝试初始化ArrayList在第二个堆栈中而不更改其顶部,但是当我尝试此操作时 ArrayList在我的 stack2 中,未使用 stack1.getTop() 进行初始化。我已经检查了构造函数中的变量大小,它有一个值。为什么会出错?

最佳答案

正如其名称所示,

ArrayList 由数组支持。数组是固定大小的;当 ArrayList 接近数组的容量时,它会调整数组的大小 - 它会创建一个新数组,复制所有内容,然后放弃旧数组。

当您使用“大小”初始化 ArrayList 时,这实际上是其初始默认容量。它将任何内容初始化到数组中。创建后 ArrayList 仍然是空的;您仍然需要实际向 ArrayList 添加值。

关于java - ArrayList 初始大小不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37259660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com