Junior — Middle
HashSet veya HashMap veri yapıları kullanarak, sıralanmamış bir listedeki tekrar eden öğeleri, benzersiz anahtarlar aracılığıyla otomatik olarak ortadan kaldırmak için nasıl yapılabilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Чтобы избавиться от повторяющихся элементов в неотсортированном списке с помощью структур данных 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 позволяют эффективно устранять дубликаты за счет хранения уникальных ключей.