вопросы по Collections часть 1:
- Что такое коллекции в Java? Перечислите их преимущества ?
- Расскажите про иерархию коллекций ?
- Почему коллекции не наследуют интерфейсы Cloneable и Serializable?
- Почему интерфейс Map не наследует интерфейс Collection?
- Почему мы используем списки? Какие основные классы реализуют интерфейс List?
- Как преобразовать массив строк в ArrayList?
- Как отсортировать список в обратном порядке?
- Почему мы используем множества? Какие основные классы реализуют интерфейс Set?
- Как хранятся элементы в HashSet?
- Может ли элемент null быть добавлен в TreeSet или HashSet?
- Почему мы используем словари? Какие основные классы реализуют интерфейс Map?
- Что такое IdentityHashMap и WeakHashMap?
- Объясните что такое ConcurrentHashMap? Как оно работает?
- Как работают словари?
- Как создать хороший ключ для словаря?
- Какие представления содержимого предоставляет интерфейс Map?
- Когда нужно использовать HashMap, а когда TreeMap?
Что такое коллекции в Java? Перечислите их преимущества ?:
Коллекция это объект представляющий собой группу объектов .
преимущества:
- Уменьшаются затраты времени на написание кода
- Улучшается производительность, благодаря использованию высокоэффективных алгоритмов и структур данных
Расскажите про иерархию коллекций ?:
Один интерфейс верхнего уровня — Collection, от которого наследуются Set, List и Queue .
интерфейс Map, который не является наследником интерфейса Collection
Почему коллекции не наследуют интерфейсы Cloneable и Serializable?:
Ну, простейший ответ — "потому что не надо".
не всегда нужен подкласс Cloneable потому что каждая операция клонирования потребляет очень много памяти .
Почему интерфейс Map не наследует интерфейс Collection?:
"потому что они несовместимы". В интерфейсе Collection описан метод add(Object o).
Также, Map имеют методы keySet, valueSet, которых нет в Collections.
Почему мы используем списки? Какие основные классы реализуют интерфейс List?:
поиск элемента, получение конкретного элемента, перебор коллекции и выборка подгруппы. Все эти операции могут производиться по индексу элемента.
List это Stack, Vector, ArrayList и LinkedList .
Как преобразовать массив строк в ArrayList?:
String[] words = {"ace", "boom", "crew", "dog", "eon"};
List wordList = Arrays.asList(words);
Как отсортировать список в обратном порядке?:
List reversedList = Collections.reverse(list);
Почему мы используем множества? Какие основные классы реализуют интерфейс Set?:
Он моделирует математическое множество, из теории множеств.
Set — это не упорядоченная коллекция. Следовательно, добавление/удаление элементов не требует их сортировки.
Главная особенность - уникальность элементов, то есть один и тот же элемент не может содержаться в множестве дважды.
реализацией Set, являются EnumSet, HashSet, LinkedHashSet и TreeSet