Главная

Java

Collections Framework


вопросы по Collections часть 1:

  1. Что такое коллекции в Java? Перечислите их преимущества ?
  2. Расскажите про иерархию коллекций ?
  3. Почему коллекции не наследуют интерфейсы Cloneable и Serializable?
  4. Почему интерфейс Map не наследует интерфейс Collection?
  5. Почему мы используем списки? Какие основные классы реализуют интерфейс List?
  6. Как преобразовать массив строк в ArrayList?
  7. Как отсортировать список в обратном порядке?
  8. Почему мы используем множества? Какие основные классы реализуют интерфейс Set?
  9. Как хранятся элементы в HashSet?
  10. Может ли элемент null быть добавлен в TreeSet или HashSet?
  11. Почему мы используем словари? Какие основные классы реализуют интерфейс Map?
  12. Что такое IdentityHashMap и WeakHashMap?
  13. Объясните что такое ConcurrentHashMap? Как оно работает?
  14. Как работают словари?
  15. Как создать хороший ключ для словаря?
  16. Какие представления содержимого предоставляет интерфейс Map?
  17. Когда нужно использовать 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

Полезные ссылки: