Как инициализировать все элементы массива к любому конкретному значению в java
In 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;
}
Я иду правильно? Есть ли другой способ для того же?
8 ответов:
если это примитивный тип, вы можете использовать
Arrays.fill():Arrays.fill(array, -1);[кстати,
memsetв C или C++ имеет только какое-либо реальное использование для массивовchar.]
вы пробовали массивы.функция заполнения?
Это также возможно с Java 8 потоков:
int[] a = IntStream.generate(() -> value).limit(count).toArray();наверное, не самый эффективный способ сделать работу, однако.
вы могли бы сделать это, если она короткая:
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;Edit: мне тоже нравится
Arrays.fill()опции другие люди упомянули.
Comments