动态创建整数数组

时间:2017-10-12 03:26:23

标签: java arrays

我正在试图弄清楚如何使用用户输入动态创建数组。我知道如何初始化一个数组,但我不知道如何允许用户初始化一个。这是我到目前为止:

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {


        System.out.print("Enter the size of the array (3 to 10): ");
        Scanner user_input = new Scanner(System.in);
        int size_of_array = user_input.nextInt();
        while(size_of_array < 3 || size_of_array > 10) {
            System.out.println("The size of the array entered is invalid.");
            System.out.print("\nEnter the size of the array (3 to 10): ");
            user_input = new Scanner(System.in);
            size_of_array = user_input.nextInt();
        }
        ArrayList array = new ArrayList(size_of_array);
        System.out.println("Initial size of array: " + array.size());



    }

}

我认为ArrayList array = new ArrayList(size_of_array);要做的伎俩,但数组的大小仍为0.希望有人可以帮助我。提前谢谢。

3 个答案:

答案 0 :(得分:1)

数组列表的大小是动态的,因此您无需为其指定大小。最初创建列表时,大小为0.要创建列表,您所要做的就是:

isset($treedata)

如果您没有添加任何元素,那么大小将保持为0.向元素添加元素后,您可以调用//Make sure you define the type of data you want to store in your list ArrayList<String> myList = new ArrayList<String>(); myList.add("Your String"); myList.size(); //returns a value of 1 方法。

如果要使用数组,则需要允许用户设置变量大小并执行以下操作:

size()

答案 1 :(得分:0)

您可以将ArrayList的尺寸指定为Collections的一部分,就像这样

List<X> list = Arrays.asList(new X[desiredSize]);
// where X is any Object type (including arrays and enums,
// but excluding primitives)

结果列表是可修改的,但不可调整大小(即add(e)remove(e)不起作用,但set(index, e)确实有效。

答案 2 :(得分:0)

根据您的问题,如果想要创建动态大小数组,请使用

int array[]=new int[size_of_array];

如果创建ArrayList,那么它已经是动态大小,不需要指定大小。

ArrayList<Integer> array = new ArrayList<>(size_of_array);

如果你这样做,那么你定义的是ArrayList的容量,它在初始容量已满时自动递增。

并在列表中添加元素,例如

array.add(45);

然后它的大小增加,它不会显示0。

相关问题