将整数添加到int数组中

时间:2015-03-20 17:10:43

标签: java arrays

我试图将整数添加到int数组中,但Eclipse说:

  

无法在数组类型int []

上调用add(int)

这对我来说完全不合逻辑。我还尝试了addElement()addInt(),但它们也没有用。

public static void main(String[] args) {
    int[] num = new int[args.length];
    for (String s : args){
        int neki = Integer.parseInt(s);
        num.add(neki);

}

7 个答案:

答案 0 :(得分:19)

要将元素添加到数组,您需要使用以下格式:

array[index] = element;

array是您声明的数组,index是元素存储的位置,element是您要存储在数组中的项目。

在您的代码中,您希望执行以下操作:

int[] num = new int[args.length];
for (int i = 0; i < args.length; i++) {
    int neki = Integer.parseInt(args[i]);
    num[i] = neki;
}

add()方法适用于CollectionsListSet。如果您使用的是ArrayList(请参阅documentation),则可以使用它,例如:

List<Integer> num = new ArrayList<>();
for (String s : args) {
    int neki = Integer.parseInt(s);
    num.add(neki);
}

答案 1 :(得分:6)

数组没有add方法。您可以使用num[i]=value;为数组的元素指定值。

public static void main(String[] args) {
    int[] num = new int[args.length];
    for (int i=0; i < num.length; i++){
      int neki = Integer.parseInt(args[i]);
      num[i]=neki;
    }
}

答案 2 :(得分:3)

数组具有固定长度。你不能'添加'它。您在开始时定义它将持续多长时间。

int[] num = new int[5];

这会创建一个包含5个桶的整数数组。每个桶包含1个整数。首先,这些都是0

num[0] = 1;
num[1] = 2;

上面两行将数组的第一个和第二个值设置为12。现在你的数组看起来像这样:

[1,2,0,0,0]

如您所见,您可以在其中设置值,但不要将它们添加到最后。

如果您希望能够创建添加到的数字列表,则应使用ArrayList。

答案 3 :(得分:2)

您不能在Java中对数组使用add方法。

要向数组添加内容,请执行此操作

public static void main(String[] args) {
int[] num = new int[args.length];
for (int i = 0; i < args.length; i++){
    int neki = Integer.parseInt(s);
    num[i] = neki;

}

如果您确实想使用add()方法,请考虑使用ArrayList<Integer>。这有几个优点 - 例如,它不限于创建时设置的最大尺寸。您可以无限期地添加元素。然而,它并不像数组那么快,所以如果你真的希望性能坚持阵列。它还要求您使用Integer对象而不是原始int类型,这可能会导致问题。

ArrayList示例

public static void main(String[] args) {
    ArrayList<Integer> num = new ArrayList<Integer>();
    for (String s : args){
        Integer neki = new Integer(Integer.parseInt(s));
        num.add(s);
}

答案 4 :(得分:1)

数组与ArrayList不同,您可以在其上调用add。你首先需要一个索引。在i循环之前声明for。然后,您可以使用数组访问表达式将元素分配给数组。

num[i] = s;
i++;

答案 5 :(得分:0)

你有一个int数组,这是一个基本类型,基本类型没有方法添加。你应该寻找Collections

答案 6 :(得分:0)

org.apache.commons.lang.ArrayUtils可以做到

num = (int []) ArrayUtils.add(num, 12);     // builds new array with 12 appended