Слияние и сортировка списков чисел
опубликовал новую статью, ‘Слияние
и сортировка списков чисел‘
Вот интересная задача на слияние двух
ArrayList:
Задача: Слияние и
сортировка списков чисел
Напишите программу, которая объединяет
два списка целых чисел
(ArrayList<Integer>), удаляет из
объединенного списка дубликаты и
сортирует его в порядке возрастания.
Требования:
- Считайте, что два исходных списка могут
 содержать дубликаты внутри себя и между
 собой.
- Итоговый список не должен содержать
 повторяющихся элементов.
- Итоговый список должен быть
 отсортирован по возрастанию.
Пример:
Вход:
- list1 = [3, 5, 1, 9, 3]
- list2 = [8, 2, 5, 3]
Выход:
- mergedList = [1, 2, 3, 5, 8, 9]
Подсказка:
- Используйте метод addAll()для
 объединения списков.
- Преобразуйте объединенный список в
 Set, чтобы автоматически удалить
 дубликаты.
- Затем преобразуйте Setобратно в
 ArrayListи отсортируйте его с помощью
 Collections.sort()илиArrayList.sort().
Решение:
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class MergeLists {
    public static void main(String[] args) {
        ArrayList<Integer> list1 = new ArrayList<>(List.of(3, 5,
1, 9, 3));
        ArrayList<Integer> list2 = new ArrayList<>(List.of(8, 2,
5, 3));
        // Объединяем списки
        ArrayList<Integer> mergedList = new ArrayList<>(list1);
        mergedList.addAll(list2);
        // Удаляем дубликаты, преобразуя в Set
        Set<Integer> uniqueSet = new HashSet<>(mergedList);
        // Преобразуем обратно в ArrayList и
сортируем
        mergedList = new ArrayList<>(uniqueSet);
        Collections.sort(mergedList);
        // Выводим результат
        System.out.println("Объединенный и
отсортированный список без дубликатов: " +
mergedList);
    }
}Ожидаемый вывод:
Объединенный и
отсортированный список без дубликатов:
[1, 2, 3, 5, 8, 9]Эта задача полезна для практики слияния
списков, удаления дубликатов и
сортировки.
Вы получили это письмо, так как просили
уведомлять вас о появлении новых записей.
С уважением,
JavaTutor.eu
webmaster@javatutor.eu

