数组初始化

时间:2011-04-05 23:58:27

标签: java

有两种主要方法可以在Java中初始化Array的元素。哪个最佳初始化列表或For循环初始化,因为创建数组时,该数组的每个元素都会自动初始化为默认值。因此,如果创建一个包含20个整数的数组,则每个元素的值都为零。但是假设您希望元素具有除零以外的特定值,这两种方法中的哪一种可以实现这一目标?

3 个答案:

答案 0 :(得分:3)

检查Arrays.fill:
http://download.oracle.com/javase/6/docs/api/java/util/Arrays.html#fill%28int%5b%5d,%20int%29

它可能不是最快的解决方案(我不知道),但为了清晰起见,你会获得积分。

Ps一般来说这是一个很有用的课程。

答案 1 :(得分:0)

如果值发生变化,更好的方法是使用for循环:

public int[] getArray(int size) {
    int numbers[] = new int[size];
    for(int i = 0; i < size; i++) {
        numbers[i] = doSomeCalculation();
    }
    return numbers;
}

如果您有硬编码值,只需手动初始化:

public int[] getArray() {
    return new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9};
}

答案 2 :(得分:0)

如果您不知道数组的上限,请使用列表,即您不知道数组将包含多少元素:

List<Integer> myList = new ArrayList<Integer>();
myList.add(1);
myList.add(2);
int[] myArray = myList.toArray(new int[myList.size()]);

如果您不知道上限,也可以考虑使用List

当您知道上限时使用数组,或者您已经拥有元素:

int[] myArray = {1, 2};
int[] myArray = new int[2];
myArray[0] = 1;
myArray[1] = 2;