java如何在不知道数组大小的情况下初始化数组?
我有一种情况,我必须对一个输入数组应用一个条件,然后将另一个数组作为输出,根据过滤条件,该数组的大小将更小
现在的问题是我不知道过滤结果的大小,所以我不能用特定的值初始化数组。我希望数组的大小不是空的,因为我不希望它变大。长后来
一种方法是首先循环原始输入数组并设置一个计数器,然后使用该计数器长度进行另一个循环,初始化并填充该数组[]。但是,有没有办法只在一个循环中完成这项工作呢
你可以在下面搜索框中键入要查询的问题!
我有一种情况,我必须对一个输入数组应用一个条件,然后将另一个数组作为输出,根据过滤条件,该数组的大小将更小
现在的问题是我不知道过滤结果的大小,所以我不能用特定的值初始化数组。我希望数组的大小不是空的,因为我不希望它变大。长后来
一种方法是首先循环原始输入数组并设置一个计数器,然后使用该计数器长度进行另一个循环,初始化并填充该数组[]。但是,有没有办法只在一个循环中完成这项工作呢
# 1 楼答案
你不能。。。数组的大小在Java中总是固定的。通常不使用数组,而是在这里使用
List<T>
的实现——通常是ArrayList<T>
,但有很多其他替代方案可用当然,作为最后一步,您可以从列表中创建一个数组,或者只需更改该方法的签名,以返回一个
List<T>
# 2 楼答案
只需返回任何类型的列表。ArrayList很好,它不是静态的
# 3 楼答案
如果您使用的是Java 8或更高版本,那么可以使用
Stream
。这是一个只提取int[]
中偶数的示例输出: