gpt4 book ai didi

java - 无需迭代即可将 List 转换为 int[] ( array ) 的有效方法

转载 作者:太空狗 更新时间:2023-10-29 23:04:12 26 4
gpt4 key购买 nike

  public static int[] convertListToArray(List<Integer> listResult) {
int[] result = new int[listResult.size()];
int i= 0;
for (int num : listResult) {
result[i++] = num;
}
return result;
}

是否有一种无需显式迭代 List 即可将 List 转换为数组的有效方法?也许可以使用如下方法:

Arrays.copyOf(int [] origin , int newLength );
System.arraycopy(Object src, int srcPos,
Object dest, int destPos,
int length);

我知道有一个解决方案描述 here .但是,我对一种有效的转换方式特别感兴趣 List<Integer>int[]

最佳答案

鉴于需要将 Integer 转换为 int,如果我假设您,我不认为您会找到比您现有的更有效的东西'谈论运行时效率。

可能会发现先转换为Integer[]然后循环可能更有效(见下文),但您也可能不会 .您必须在您的特定场景中对其进行测试并查看。

这是这个例子:

int size = listResult.size();
int[] result = new int[size];
Integer[] temp = listResult.toArray(new Integer[size]);
for (int n = 0; n < size; ++n) {
result[n] = temp[n];
}

关于java - 无需迭代即可将 List<Integer> 转换为 int[] ( array ) 的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41520654/

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