Ответ 1
Если это примитивный тип, вы можете использовать Arrays.fill()
:
Arrays.fill(array, -1);
[Кстати, memset
в C или С++ используется только для реального использования для массивов char
.]
В C/C++
имеется функция memset()
, которая может выполнить мое желание, но в Java
, как я могу инициализировать все элементы до определенного значения? Всякий раз, когда мы пишем int[] array=new int[10];
, это просто инициализирует массив размером 10, имеющий все элементы, равные нулю. Я просто хочу изменить это число инициализации для одного из моих массивов. т.е. я хочу инициализировать массив, который имеет все элементы, равные -1
. В противном случае я должен положить цикл for
сразу после инициализации, который варьируется от индекса 0
до индекса size-1
и внутри этого цикла, я назначаю элемент -1
. Ниже приведен код для более глубокого понимания -
int[] array = new int[10];
for (int i = 0; i < size; i++) {
array[i] = -1;
}
Я иду правильно? Есть ли другой способ для этого?
Если это примитивный тип, вы можете использовать Arrays.fill()
:
Arrays.fill(array, -1);
[Кстати, memset
в C или С++ используется только для реального использования для массивов char
.]
Там также
int[] array = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1};
Вы пробовали функцию Arrays.fill?
Вы можете сделать это, если оно короткое:
int[] array = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
но это плохо для более чем нескольких.
Легче будет цикл for
:
int[] myArray = new int[10];
for (int i = 0; i < array.length; i++)
myArray[i] = -1;
Изменить: мне также нравится опция Arrays.fill()
, о которой говорили другие люди.
Очевидно, вы можете использовать Arrays.fill(), способ, которым вы это сделали, также работает.
Вы можете использовать Arrays.fill(array, -1)
.
Также возможно с потоками Java 8:
int[] a = IntStream.generate(() -> value).limit(count).toArray();
Возможно, не самый эффективный способ выполнить эту работу.