我想在数组中的每个索引处创建一个大小为n
的数组,其值相同。在Java中执行此操作的最佳方法是什么?
例如,如果n
为5且值为布尔false
,则数组应为:
= [false, false, false, false, false]
答案 0 :(得分:16)
List<Integer> copies = Collections.nCopies(copiesCount, value);
javadoc here。
这比'Arrays.fill&#39;更好。解决方案有几个原因:
列表比数组更酷:)但是如果你真的非常想要一个数组 - 那么你可以做到以下几点:
Integer[] copies = Collections.nCopies(copiesCount, value)
.toArray(new Integer[copiesCount]);
答案 1 :(得分:11)
您可以尝试使用:
boolean[] array = new boolean[5];
Arrays.fill(array, false);
手动数组填充的第二种方法:
boolean[] array = new boolean[] {false, false, false, false, false};
答案 2 :(得分:4)
Arrays.fill()将使用相同的值填充现有数组。原语和Objects
存在变体。
答案 3 :(得分:3)
对于该具体示例,没有任何内容,默认情况下boolean[]
将初始化为[false, false, ...]
。
如果要使用非默认值初始化数组,则需要循环或使用为您执行循环的Arrays.fill
。
答案 4 :(得分:1)
或者您可以以低级方式进行。用n个元素组成一个数组,并遍历放置相同元素的所有元素。
int[] array = new int[n];
for (int i = 0; i < n; i++)
{
array[i] = 5;
}
答案 5 :(得分:0)
Arrays.fill(...)
正是您要找的。 p>
答案 6 :(得分:-1)
试试这个..
Boolean [] data = new Boolean[20];
Arrays.fill(data,new Boolean(false));