Копировать массив и добавить новое значение

Я действительно не знаю, как добавить новое значение после копирования массива. Кто-нибудь знает, как я мог этого добиться?

Результат, который я хочу: - Новое значение массива: я люблю программировать

public static void main(String[] args) {
        
  String originalArray[] = {"I", "Love","Java"};
  String newArray[] = new String[originalArray.length];
           
  System.arraycopy(originalArray, 0, newArray, 0, 2);  
  System.out.println("Original Array Value: " + Arrays.toString(originalArray));
  System.out.println("New Array Value: " + Arrays.toString(newArray) + Coding);

}

И кстати, могу ли я сделать такой массив: -

String originalArray[] = {"I Love Java"};
//Instead breaking up to {"I","Love","Java"}
//and if change it to one way is the steps going to be the same and the copy ways too?
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
536
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Я думаю, смысл этого упражнения в том, что вы можете изменить последний элемент в новом массиве.

newArray[newArray.length - 1] = "Coding";

Затем, если вы напечатаете newArray так же, как вы печатали исходный массив, вы увидите изменение

вау, хорошо, я никогда этого не знал, но если я хочу добавить несколько значений, есть ли простой способ сделать это.

NISHA NAJIHAH 11.12.2020 14:42

@NISHANAJIHAH Для добавления нескольких значений вы, вероятно, захотите использовать реализацию java.util.List, например ArrayList.

ControlAltDel 11.12.2020 14:48

вы можете заменить последний элемент вашего массива, а затем распечатать их как одну строку, используя метод String.join:

String originalArray[] = {"I", "Love","Java"};
originalArray[originalArray.length-1] = "Coding";
System.out.println(String.join(" ", originalArray));
Ответ принят как подходящий

Я действительно не знаю, как добавить новое значение после копирования массива.

Вам нужно будет создать новый массив, скопировать все элементы старого массива в новый массив и добавить новое значение. Имейте в виду, однако, что Java ArrayList больше подходит для таких операций (например, add, remove и т. д.).

Тем не менее, в вашем случае, чтобы получить вывод «Я люблю кодирование», вам просто нужно изменить свой код на:

public static void main(String[] args) {
        
  String originalArray[] = {"I", "Love","Java"};
  String newArray[] = new String[originalArray.length];
           
  System.arraycopy(originalArray, 0, newArray, 0, 2);  
  newArray[newArray.length - 1] = "Coding";
  System.out.println("Original Array Value: " + Arrays.toString(originalArray));
  System.out.println("New Array Value: " + Arrays.toString(newArray));

}

И кстати, могу ли я сделать такой массив: -

String originalArray[] = {"I Love Java"};

Да, ты можешь. Однако теперь это будет массив с одной строкой «Я люблю Java», тогда как

String originalArray[] = {"I","Love","Java"}

представляет собой массив из трех строк, а именно "I", "Love", "Java". В этом случае вам придется заменить StringJava на Coding без необходимости копировать все элементы массива.

public static void main(String[] args) {

    String originalArray[] = {"I Love Java"};
    String newArray[] = new String[originalArray.length];
    newArray[0] = originalArray[0].replace("Java", "Coding");
    System.out.println("Original Array Value: " + Arrays.toString(originalArray));
    System.out.println("New Array Value: " + Arrays.toString(newArray));

}

Другие вопросы по теме