Объединение ArrayList с помощью flatMap()
Мы также можем объединить два ArrayList, используя метод flatMap()
и метод distinct()
, следуя коду ниже:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args){
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(1030);
arrList1.add(1020);
arrList1.add(1010);
arrList1.add(1040);
System.out.println(arrList1);
ArrayList<Integer> arrList2 = new ArrayList<>(Arrays.asList(1050,1030,1070));
System.out.println(arrList2);
// Объединение двух ArrayList
List<Integer> arrList3 = Stream.of(arrList1, arrList2)
.flatMap(Collection::stream)
.distinct()
.collect(Collectors.toList());
System.out.println("После объединения:");
System.out.println(arrList3);
}
}
Для запуска этого кода введите следующую команду в терминале:
javac Main.java && java Main
В результате будут выведены следующие строки:
[1030, 1020, 1010, 1040]
[1050, 1030, 1070]
После объединения:
[1030, 1020, 1010, 1040, 1050, 1070]