如何在不知道数组大小的情况下初始化数组?

我有一个情况,我必须对输入数组应用一个标准,并将另一个数组作为输出,该数组的大小将根据过滤标准减小。

现在的问题是我不知道过滤结果的大小,所以我不能用特定值初始化数组。我不希望它是大尺寸的空值,因为我使用的是array.length;后来。

一种方法是首先循环原始输入数组并设置一个计数器,然后用该计数器长度创建另一个循环并初始化并填充此数组[]。但是,是否无论如何都可以在一个循环中完成工作?


答案 1

你不能。。。数组的大小在 Java 中始终是固定的。通常,您不会使用数组,而是使用 此处 的实现 - 通常为 ,但还有很多其他可用的替代方案。List<T>ArrayList<T>

当然,您可以从列表中创建一个数组作为最后一步 - 或者只是更改方法的签名以返回一个开始。List<T>


答案 2

请改用。比,如有必要,可以创建一个数组。LinkedList