Как инициализировать все элементы массива к любому конкретному значению в 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;
}


Я иду правильно? Есть ли другой способ для того же?

515   8  

8 ответов:

если это примитивный тип, вы можете использовать Arrays.fill():

Arrays.fill(array, -1);

[кстати, memset в C или C++ имеет только какое-либо реальное использование для массивов char.]

там же

int[] array = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1};

Это также возможно с 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() опции другие люди упомянули.

можно использовать Arrays.fill(array, -1).

очевидно, вы можете использовать Arrays.fill (), то, как вы это сделали, также работает.

Comments

    Ничего не найдено.