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