Java整数ArrayList

23

我有一些值希望添加到ArrayList中,以便跟踪出现的数字。 这些值是整数,所以我创建了一个ArrayList;

ArrayList<Integer[]> list = new ArrayList<>();
int x = 5
list.add(x);

但是我无法使用这种方法向ArrayList添加任何内容。当我使用字符串作为数组列表时它可以工作。我需要将其转换为字符串数组然后再将该数组转换为整数吗?

编辑:我还有一个问题。我只希望这个列表只包含3个值,我应该怎么做?

8个回答

63

整数列表 Integer.

List<Integer> list = new ArrayList<>();
int x = 5;
list.add(x);

2
数组是静态的,而ArrayList是由数组支持的动态可增长列表。 - Subhrajyoti Majumder

7

您正在尝试将一个整数添加到一个接受 Integer[] 整数数组的 ArrayList 中。正确写法为:

ArrayList<Integer> list = new ArrayList<>();

或者更好。
List<Integer> list = new ArrayList<>();

2
当你向OP(或其他人)介绍关于编程接口的内容时,请参考什么是“按接口编程”? - Luiggi Mendoza

3

你没有创建一个整数的ArrayList,而是试图创建一个数组的整数的ArrayList。

所以如果你想让你的代码工作,只需做出以下更改。

List<Integer> list = new ArrayList<>();
int x = 5;
list.add(x);

1
在创建整数ArrayList时,[]没有意义,因为我想你只想添加整数值。只需使用:
List<Integer> list = new ArrayList<>();

创建 ArrayList 并且它会正常工作。

1

您的问题涉及到两个不同的概念。

第一点:将整数数组添加到列表中。代码如下:

List<Integer[]> list = new ArrayList<>();
Integer[] intArray1 = new Integer[] {2, 4};
Integer[] intArray2 = new Integer[] {2, 5};
Integer[] intArray3 = new Integer[] {3, 3};
Collections.addAll(list, intArray1, intArray2, intArray3);

第二步:在列表中添加整数值。
List<Integer> list = new ArrayList<>();
int x = 5
list.add(x);

1
实际上,你所做的也不是错的,你的声明是正确的。使用你的声明,JVM会创建一个整数数组的ArrayList,即ArrayList中的每个条目对应一个整数数组,因此你的add函数应该将一个整数数组作为参数传递。
例如:
list.add(new Integer[3]);

这样,ArrayList 的第一个条目是一个整数数组,最多可以容纳3个值。


1

你不应该在列表中使用Integer[]数组,因为ArrayList本身就是一种数组。只需去掉[]即可正常工作。


0

如何创建一个由固定数量的整数组成的ArrayList

下面的方法返回一个由固定数量的整数组成的ArrayList。

public static ArrayList<Integer> createRandomList(int sizeParameter)
{
    // An ArrayList that method returns
    ArrayList<Integer> setIntegerList = new ArrayList<Integer>(sizeParameter);
    // Random Object helper
    Random randomHelper = new Random();
    
    for (int x = 0; x < sizeParameter; x++)
    {
        setIntegerList.add(randomHelper.nextInt());
    }   // End of the for loop
    
    return setIntegerList;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接