#java #arrays
Вопрос:
Я хочу объединить два массива символов:
char[] vowels1 = {'a', 'e', 'i', 'o', 'u'};
char[] vowels2 = {'A', 'E', 'I', 'O', 'U'};
и получите результат как [a, e, i, o, u, A, E, I, O, U]
.
Как я могу сделать это на Java?
Комментарии:
1. Кажется, это простая проблема. Что вы пробовали самостоятельно? Вы проводили какие-нибудь исследования? Если вы это сделали, пожалуйста, укажите проблему, с которой вы столкнулись.
Ответ №1:
Вы можете использовать System.arraycopy()
метод для копирования vowels1
и vowels2
передачи содержимого vowels3
. Его подпись выглядит следующим образом:
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
Где:
src обозначает исходный массив.
srcPos-это индекс, с которого начинается копирование.
dest обозначает массив назначения.
destPos-это индекс, из которого скопированные элементы помещаются в массив назначения.
длина-это длина подмассива, который необходимо скопировать.
char[] vowels1={'a','e','i','o','u'};
char[] vowels2={'A','E','I','O','U'};
char[] vowels3 = new char[vowels1.length vowels2.length];
System.arraycopy(vowels1 , 0, vowels3, 0, vowels1.length);
System.arraycopy(vowels2 , 0, vowels3, vowels1.length, vowels2.length);
System.out.println(Arrays.toString(vowels3));
Выход:
[a, e, i, o, u, A, E, I, O, U]
Ответ №2:
Вы можете преобразовать их в строки, объединить эти строки и преобразовать их обратно в массив. Не самый эффективный вариант, заметьте, но требуется очень мало кода:
char[] vowels = (new String(vowels1) new String(vowels2)).toCharArray();