¿Cómo puedo concatenar dos arreglos?

Quisiera saber si hay alguna forma de concatenar dos arreglos en java

String[] ar1={"h","o","l","a"};
String[] ar2={"m","u","n","d","o"};

para que posteriormente el arreglo resultante imprima todos los valores.

1
задан 24.11.2016, 09:40
4 ответа

Используя Интерфейс Stream

String[] ar1={"h","o","l","a"};
String[] ar2={"m","u","n","d","o"};
String[] result = Stream.of(ar1, ar2).flatMap(Stream::of).toArray(String[]::new);
System.out.println(Arrays.toString(result));
4
ответ дан 24.11.2019, 12:26

Поскольку они того же типа, легко прилагать их используя метод класса System

  1. Ты создаешь новый array длины, равной сумме длин тех, которых ты хочешь соединить:

    String[] res = new String[ ar1.length + ar2.length ];

  2. Сторожи в новом array:

    System.arraycopy( ar1, 0, res, 0, ar1.length );
    System.arraycopy( ar2, 0, res, ar1.length, ar2.length );

Параметры, которые он получает arrayCopy ():
Array источника.
Начальное положение array источника.
Array предназначал.
Положение incial в конечном array.
Число элементов, которое нужно копировать.

2
ответ дан 24.11.2019, 12:26

Который я узнал, нет ни одной funciГіn в Java, который прилагал бы два arrays.

PodrГ-Схвати делать что-то как:

    String[] ar1={"h","o","l","a"};
    String[] ar2={"m","u","n","d","o"};
    String[] ar3 = new String[ar1.length + ar2.length];

    int i = 0;
    for (i = 0; i < ar1.length; i++ ){
        ar3[i] = ar1[i];

    }

    for (int a = 0; a < ar2.length; a++ ){

        ar3[i] = ar2[a];
        i++;
    }
1
ответ дан 24.11.2019, 12:26

Я нашел этот ответ в StackOverflow

CГіdigo:

String[] ar1={"h","o","l","a"};
String[] ar2={"m","u","n","d","o"};
String[] concatenados= (String[])ArrayUtils.addAll(ar1, ar2);

Надеялся, что он подает тебя, приветствие.

Больше informaciГіn относительно класса ArrayUtils.addAll(T[], T...)

1
ответ дан 24.11.2019, 12:26
  • 1
    Не знает никакого класса в JDK, названный ArrayUtils. Пожалуйста снабди má s деталь на вышеупомянутом классе. –  27.11.2016, 06:08

Теги

Похожие вопросы