Слияние и сортировка списков чисел
опубликовал новую статью, ‘Слияние
и сортировка списков чисел‘
Вот интересная задача на слияние двух
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