Экзамен Коллекции | Блок 1 Flashcards
Что такое “коллекция”?
Коллекции — это наборы однородных элементов. Например, страницы в книге, яблоки в корзине или люди в очереди.
Перечислите основные методы из интерфейса java.util.Collection?
Основные методы интерфейса:
* booleanadd(Ee)
- Добавление одного элемента;
* boolean addAll(Collection<?extendsE>c)
- Добавление всех элементов из переданной в метод коллекции;
* Iterator<E>iterator()
- Возвращает объект Iterator, который позволяет обойти элементы коллекции при помощи цикла for each;
* booleanremove(Objecto)
- Удаляет объект, переданный в метод. Возвращает true, если коллекция изменилась;
* booleanremoveAll(Collection<?>c)
- Удаляет все элементы, которые содержатся в переданной коллекции;
* booleanretainAll(Collection<?>c)
- Удаляет все элементы КРОМЕ тех, что содержатся в переданной коллекции;
* intsize()
- Возвращает количество элементов в коллекции;
* booleanisEmpty()
- Возвращает true, если коллекция не содержит элементов;
* booleancontains(Objecto)
- Возвращает true, если коллекция содержит переданный в метод объект;
* voidclear()
- Удаляет все элементы из коллекции;
* Object[]toArray()
- Возвращает массив элементов, содержащихся в коллекции;
Назовите преимущества использования коллекций по сравнению с массивами.
Динамический размер;
Улучшенный поиск, присвоение, вставка;
Возможность хранить разнородные данные (поддержка Дженериков);
Возможность хранить значения без дублей и без нулей;
Возможность создания упорядоченных коллекций;
Какие данные могут хранить коллекции?
Коллекции могут хранить только ссылочные типы. Для примитивных типов используются Обертки.
Какие есть типы коллекций? Как они характеризуются? Расскажите про иерархию коллекций List, Set, Map.
- Словари (Map) - хранят пару ключ-значение;
- Наборы (Set) - неупорядоченный набор уникальных элементов;
- Списки (List) - позволяют хранить одно и то же значение несколько раз;
- Очереди (Queue) - позволяют получать элементы в том же порядке, в котором они были помещены в очередь. Принцип FIFO;
Назовите основные классы, которые имплементируют/реализуют интерфейсы List, Set, Map.
- ArrayList;
- LinkedList;
- HashSet;
- LinkedHashSet;
- TreeSet;
- HashMap;
- HashTable;
- TreeMap;
- ConcurrentHashMap;
- LinkedHashMap;
- SortedMap;