Junior — Middle
101
Comment peut-on éliminer les éléments en double dans une liste non triée en utilisant des structures de données telles que HashSet ou HashMap pour supprimer automatiquement les doublons via des clés uniques?
Réponse de l'IA
sobes.tech IA
Чтобы избавиться от повторяющихся элементов в неотсортированном списке с помощью структур данных HashSet или HashMap в Java, можно использовать их свойства хранения уникальных ключей.
- HashSet хранит только уникальные элементы. При добавлении дубликатов они автоматически игнорируются.
- HashMap можно использовать, если нужно сохранить пары ключ-значение, где ключи уникальны.
Пример удаления дубликатов из списка с помощью HashSet:
import java.util.*;
List<String> listWithDuplicates = Arrays.asList("apple", "banana", "apple", "orange", "banana");
// Создаем HashSet из списка — дубликаты удалятся автоматически
Set<String> set = new HashSet<>(listWithDuplicates);
// Если нужен список без дубликатов
List<String> listWithoutDuplicates = new ArrayList<>(set);
System.out.println(listWithoutDuplicates);
Если нужно сохранить порядок элементов, можно использовать LinkedHashSet:
Set<String> linkedHashSet = new LinkedHashSet<>(listWithDuplicates);
List<String> listOrdered = new ArrayList<>(linkedHashSet);
Таким образом, HashSet и HashMap позволяют эффективно устранять дубликаты за счет хранения уникальных ключей.