[JavaTutor.eu] Слияние и сортировка списков чисел

[JavaTutor.eu]<br /> Слияние и сортировка списков чиселJavaTutor.eu
опубликовал новую статью, ‘Слияние
и сортировка списков чисел

Вот интересная задача на слияние двух
ArrayList:


Задача: Слияние и
сортировка списков чисел

Напишите программу, которая объединяет
два списка целых чисел
(ArrayList<Integer>), удаляет из
объединенного списка дубликаты и
сортирует его в порядке возрастания.

Требования:

  1. Считайте, что два исходных списка могут
    содержать дубликаты внутри себя и между
    собой.
  2. Итоговый список не должен содержать
    повторяющихся элементов.
  3. Итоговый список должен быть
    отсортирован по возрастанию.

Пример:

Вход:

  • list1 = [3, 5, 1, 9, 3]
  • list2 = [8, 2, 5, 3]

Выход:

  • mergedList = [1, 2, 3, 5, 8, 9]

Подсказка:

  1. Используйте метод addAll() для
    объединения списков.
  2. Преобразуйте объединенный список в
    Set, чтобы автоматически удалить
    дубликаты.
  3. Затем преобразуйте 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]

Эта задача полезна для практики слияния
списков, удаления дубликатов и
сортировки.

Вы можете просмотреть последнюю запись по
адресу
https://javatutor.eu/%d1%81%d0%bb%d0%b8%d1%8f%d0%bd%d0%b8%d0%b5-%d0%b8-%d1%81%d0%be%d1%80%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b0-%d1%81%d0%bf%d0%b8%d1%81%d0%ba%d0%be%d0%b2-%d1%87%d0%b8%d1%81%d0%b5%d0%bb/?utm_source=subscribe2&utm_medium=email&utm_campaign=postnotify&utm_id=1448&utm_title=%D0%A1%D0%BB%D0%B8%D1%8F%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0%20%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%BE%D0%B2%20%D1%87%D0%B8%D1%81%D0%B5%D0%BB

Вы получили это письмо, так как просили
уведомлять вас о появлении новых записей.
С уважением,
JavaTutor.eu
webmaster@javatutor.eu

Leonid Kleimann

I like Java!

Добавить комментарий