Sobes.tech
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 позволяют эффективно устранять дубликаты за счет хранения уникальных ключей.