Java:如果不知道如何初始化数组大小?

前端之家收集整理的这篇文章主要介绍了Java:如果不知道如何初始化数组大小?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我要求用户输入1到100之间的数字,并将它们分配到数组中.数组大小未被初始化,因为它取决于用户输入数字的次数.
我应该如何分配数组长度?
如果用户输入5 6 7 8 9(5个数字),则
int[] list;

int[] list = new int[5];

我试图使用一个循环,但它不会停止.

int[] integers;
int j = 0;
do {
       integers = new int[j + 1];
       integers[j] = in.nextInt(); 
       j++;      
} while((integers[j-1] >= 1) ||(integers[j-1]) <= 100);

解决方法

你应该使用 List这样的东西,而不是数组.作为一般的经验法则,当您不知道要在手之前添加到数组中的元素数量,请改用List.大多数人可能会通过使用 ArrayList解决这个问题.

如果您真的不能使用列表,那么您可能必须使用一些初始大小(可能是10?)的数组,并跟踪您的数组容量,而不是添加多少元素,并将元素复制到一个新的更大的数组,如果你用完了(这本质上是ArrayList在内部做的).还要注意,在现实世界中,你永远不会这样做 – 你将使用专门为这样的案例制作的标准类之一,例如ArrayList.

猜你在找的Java相关文章