Sobes.tech
Junior — Middle
103

Kako se mogu ukloniti duplikati iz neuslovne liste koristeći strukture podataka poput HashSet ili HashMap za automatsko uklanjanje duplikata putem jedinstvenih ključeva?

Одговор од АИ

sobes.tech АИ

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