Junior — Middle
100
Kaip galima pašalinti pasikartojančius elementus neišrikiuotame sąraše, naudojant duomenų struktūras kaip HashSet arba HashMap, siekiant automatiškai pašalinti dublikatus per unikalius raktus?
Atsakymas iš AI
sobes.tech AI
Чтобы избавиться от повторяющихся элементов в неотсортированном списке с помощью структур данных 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 позволяют эффективно устранять дубликаты за счет хранения уникальных ключей.