Назад к вопросам
Junior
70
questionbank

Какие структуры данных из коллекций вы знаете?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

  • Интерфейсы:

    • Collection: Базовый интерфейс для всех коллекций.
    • List: Упорядоченная коллекция элементов, допускающая дубликаты.
    • Set: Коллекция уникальных элементов.
    • SortedSet: Упорядоченный набор.
    • NavigableSet: SortedSet с методами навигации.
    • Queue: Коллекция элементов, как правило, поддерживающая операции вставки на одном конце и извлечения на другом.
    • Deque: Двунаправленная очередь.
    • Map: Сопоставление ключей значениям. Ключи уникальны.
    • SortedMap: Упорядоченное сопоставление ключей значениям.
    • NavigableMap: SortedMap с методами навигации.
  • Классы-реализации:

    • List: ArrayList, LinkedList, Vector, Stack
    • Set: HashSet, LinkedHashSet, TreeSet
    • Queue: PriorityQueue, ArrayDeque
    • Map: HashMap, LinkedHashMap, TreeMap, Hashtable
  • Основные характеристики:

Интерфейс Упорядоченность Разрешены дубликаты
List Да Да
Set Нет Нет
SortedSet Да Нет
Map Нет (по ключу) Нет (по ключу)
SortedMap Да (по ключу) Нет (по ключу)
  • Примеры использования:

    import java.util.ArrayList;
    import java.util.HashSet;
    import java.util.HashMap;
    
    public class CollectionExamples {
    
        public static void main(String[] args) {
            // ArrayList - упорядоченный список с разрешенными дубликатами
            ArrayList<String> names = new ArrayList<>();
            names.add("Alice");
            names.add("Bob");
            names.add("Alice");
            System.out.println("ArrayList: " + names);
    
            // HashSet - набор уникальных элементов без определенного порядка
            HashSet<Integer> numbers = new HashSet<>();
            numbers.add(1);
            numbers.add(2);
            numbers.add(1); // Дубликат не добавится
            System.out.println("HashSet: " + numbers);
    
            // HashMap - Map ключ-значение без определенного порядка ключей
            HashMap<String, Integer> ages = new HashMap<>();
            ages.put("Alice", 30);
            ages.put("Bob", 25);
            ages.put("Charlie", 30);
            System.out.println("HashMap: " + ages);
        }
    }