Sobes.tech
Junior — Middle
77

Можешь рассказать о различных вариантах реализации структуры данных Set?

Answer from AI

sobes.tech AI

В Java структура данных Set реализована несколькими классами, каждый из которых имеет свои особенности:

  • HashSet — основан на хэш-таблице, обеспечивает быстрый доступ и вставку элементов, не гарантирует порядок элементов.
  • LinkedHashSet — расширяет HashSet, сохраняет порядок вставки элементов.
  • TreeSet — основан на красно-чёрном дереве, хранит элементы в отсортированном порядке.

Пример использования HashSet:

import java.util.HashSet;

public class Example {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<>();
        set.add("apple");
        set.add("banana");
        set.add("apple"); // дубликат не добавится

        for (String fruit : set) {
            System.out.println(fruit);
        }
    }
}

Выбор реализации зависит от требований к порядку элементов и производительности.