Интерфейс: красный; Класс реализации: черный шрифт
1. Коллекция коллекции
Коллекция
| _____ SET (Hashset)
| | _____ сортируемое набор (деревья)
| _____ список (Arraylist, LinkedList, Vector)
Коллекция : корневой интерфейс на уровне сбора. JDK не предоставляет класс реализации для этого интерфейса.
Список : упорядочен (в порядке размещения), может быть повторен и имеет подписки.
Установите : Неупорядоченные, незаписи, без подростка.
SortedSet : это поднтерфейс интерфейса SET. Элементы в сортировке упорядочены (в порядке возрастания в алфавитном порядке).
Через сопоставимый метод сравнения интерфейса элементы реализуются упорядоченным образом. Все размещенные элементы должны реализовать сопоставимый интерфейс (или быть принятым указанным компаратором).
Различия между классами реализации интерфейса списка :
ArrayList : по сути, это массив. Потоки небезопасны. Query (get/set) быстро, добавить/удалить (добавить/удалить) медленный.
LinkedList : по сути двухсторонний список связанного списка. Потоки небезопасны. Query (get/set) медленный, добавление/удаление быстро.
Vector : Это почти то же самое, что и ArrayList. Единственное отличие состоит в том, что вектор синхронизирован и является потоком.
2. Карта коллекция
Карта (Hashmap, Hashtable)
| _____ SortedMap (treeMap)
Карта : он хранит пару клавишных значений, которая не может содержать дублирующих клавиш и может иметь дубликаты значений.
SortedMap : subinterface Map SortedMap - это карта, которая располагает ключи в порядке возрастания.
Разница между HashMap , Hashtable и TreeMap
HashMap : Тема небезопасно. Как ключ, так и значение могут быть нулевыми. Элементы беспорядочны. Базовый уровень - это структура данных хэш -таблицы.
Hashtable : потока. Ни ключ, ни значение не могут быть нулевыми. Элементы беспорядочны. Базовый уровень - это структура данных хэш -таблицы.
TreeMap : потоки небезопасны. Ни ключ, ни значение не могут быть нулевыми. Элементы упорядочены (в восходящем алфавитном порядке). Основной слой является структура данных бинарной дерева.
3. Как реализовать ключ и установить значения карты без дублирования
Карта ставит тот же ключ , а затем охватывает предыдущий
Карта карта = new hashmap ();
map.put ("name", "Zhang San");
map.put ("name", "wangwu"); ------- Эффективно, перезаписать предыдущий
Когда установка ставит тот же элемент, первый действительный, а следующий не будет помещен в
Set set = new hashset ();
set.add ("111"); --- Эффективно
set.add ("222"); ---- Судья, что он уже существовал и не будет введен
1. Hashmap Put and Hashset Add
Потому что метод add () add () на самом деле превращается в метод вызова hashmap's put (), чтобы добавить пары клавиш при добавлении элемента сбора. Метод put () первые вызовы HashMap .hashCode (), чтобы определить, что возвращаемое значение равно. Если возвращаемое значение равно, то оно возвращает истину через сравнение равных. Наконец, считается, что ключевой объект равен и уже существует в HashMap.
2. TreeMap Put and Treesset добавить
Когда метод POT вызывается в TreeMap, чтобы добавить значение ключа, метод CompareTo (или Compare) объекта вызывается для сравнения всех клавиш. Если этот метод возвращает 0, два ключа считаются равными.
При добавлении элемента в Treesset вызовите метод сравнения или сравнения, чтобы найти положение элемента, то есть вернуть сравнение или сравнение с возвратом 0, которое считается той же позицией, то есть в том же элементе