当前位置: 首页 > 面试题库 >

Java如何将包含整数的ArrayList转换为原始int数组?

张财
2023-03-14
问题内容

我正在尝试使用以下代码将包含Integer对象的ArrayList转换为原始int [],但它会引发编译时错误。是否可以用Java进行转换?

List<Integer> x =  new ArrayList<Integer>();
int[] n = (int[])x.toArray(int[x.size()]);

问题答案:

你可以进行转换,但是我认为没有内置的功能可以自动进行转换:

public static int[] convertIntegers(List<Integer> integers)
{
    int[] ret = new int[integers.size()];
    for (int i=0; i < ret.length; i++)
    {
        ret[i] = integers.get(i).intValue();
    }
    return ret;
}

(请注意,如果其中一个integers或任何一个元素为,则会抛出NullPointerException null。)

编辑:根据评论,你可能希望使用列表迭代器来避免诸如LinkedList

public static int[] convertIntegers(List<Integer> integers)
{
    int[] ret = new int[integers.size()];
    Iterator<Integer> iterator = integers.iterator();
    for (int i = 0; i < ret.length; i++)
    {
        ret[i] = iterator.next().intValue();
    }
    return ret;
}


 类似资料:
  • 问题内容: 我有一个和一帮在里面。我想把它变成一个数组,但是打电话 返回。除了手动遍历每个元素,还有更好的方法将其转换为其他数组吗?我想将数组传递给 即使我尝试将其像强制转换那样也不会接受Object []数组 问题答案: Apache的ArrayUtils具有以下功能(它仍在幕后进行迭代): 它们始终是检查此类事情的好地方。

  • 我有一个ArrayList ,希望将其转换为int[][]。结果数组中的每个条目都有相同的int[],尽管它们是不同的(是的,我已经检查过了!)。我是不是错过了一些简单的东西?int[][]中数组的长度由arr.length给出 编辑:我已经意识到代码可以正常工作,所以这里有一个更大的代码示例,出现问题的地方。permute()照它说的做,并在新的置换完成时,置换给定数组中的整数,返回true。

  • 我在Java中有一个tiff图像的INT[2048][2048]原始数据数组。我想把那个数组转换回BufferedImage。我该如何进行?

  • 问题内容: 将数组元素复制到其中的最佳方法是什么? 我需要快速执行此操作,所以最快的方法是什么? 问题答案: 利用创建 “(通过写‘到数组中。更改到返回的列表)’由指定数组支持的固定大小的列表。” 或者,解耦两个数据结构: 或更简洁:

  • 所以我有: 其中包含x个数组列表,其中包含另一个y个字符串...演示: 其中index是指包含字符串的数组索引。 如何将其转换为2D数组,该数组如下所示: 非常感谢你。

  • 问题内容: 我的方法有问题。 在客户端,我想要一个数组而不是JSON 我怎样才能做到这一点? 客户代码: 我的方法返回,但我想从中提取数字,以便使用这些数字进行计算(例如作为)。 我公开了作为JSONObject的功能。 然后我得到错误:无法从JSONObject转换为int [] 2种其他方式 这次我得到:无法从JSONArray转换为int [] … 反正还是行不通.. 问题答案: 我从来没有