Интерфейс сбора: коллекция является самым основным интерфейсом коллекции, объявляющим общие методы, подходящие для коллекций Java (включая только SET и List). Установить и перечислить как наследуют соединение, так и карту
Методы интерфейса сбора:
Boolean Add (Object O): добавьте ссылку на объект в коллекцию
void clear (): удалить все объекты в коллекции, то есть больше не содержит ссылки на эти объекты
логический isempty (): определяет, пуст ли набор
Boolean содержит (объект O): определяет, содержится ли ссылка на конкретный объект в коллекции
Iterar iterator (): возвращает объект итератора, который можно использовать для итерации над элементами в коллекции
Boolean Remove (Object O): удаляет ссылку на объект из коллекции
int size (): возвращает количество элементов в коллекции
Object [] toarray (): возвращает массив, содержащий все элементы в коллекции
О: Итератор () и методы Toarray () используются для всех элементов коллекции. Первый возвращает итераторный объект, а последний возвращает массив, содержащий все элементы в коллекции.
Интерфейс итератора объявляет следующие методы:
hasnext (): определяет, были ли пройдены элементы в коллекции. Если нет, вернуть истинность
Next (): вернуть следующий элемент
удалить (): удалить предыдущий элемент, возвращаемый методом следующего () из коллекции.
SET (SET): SET - самый простой тип коллекции. Объекты в коллекции не отсортированы определенным образом, и нет дублирующих объектов. Интерфейс SET в основном реализует два класса реализации:
Hashset: класс хэшса использует хэш -алгоритм для доступа к объектам в коллекции, а скорость доступа относительно быстрая.
Treesset: класс Treesset реализует интерфейс SortedSet, который может сортировать объекты в коллекции.
Использование набора: он хранит ссылки на объекты, без дубликатов объектов
Set set = new hashset (); string s1 = new String ("hello"); string s2 = s1; string s3 = new String ("world"); set.add (s1); set.add (s2); set.add (s3); System.out.println (set.size ()); // Количество объектов в коллекции печати равно 2.
Как метод set's add () определяет, хранился ли объект в коллекции?
Boolean isexists = false; iterator iterator = set.iterator (); while (it.hasnext ()) {string oldstr = it.next (); if (newstr.equals (oldstr)) {isexists = true;}}Список: характеристика списка заключается в том, что его элементы хранятся линейно, а дублируемые объекты могут храниться в коллекции.
Основные классы реализации интерфейса списка включают:
ArrayList (): представляет, что длина может быть изменена на массив. Элементы можно получить случайным образом, а скорость вставки и удаления элементов в ArrayList () медленная.
LinkedList (): использует связанную структуру данных списка в реализации. Быстрая вставка и удаление, медленный доступ.
Для случайного доступа списка он должен получить только случайным образом элементы, расположенные в определенном месте. Метод списка GET (int index) помещается обратно в объект в сборе в положении индекса, указанном индексом параметра, а индекс начинается с «0». Самые основные два способа извлечения всех объектов в коллекции:
1: Для цикла и метода get ():
for (int i = 0; i <list.size (); i ++) {System.out.println (list.get (i));}2: Используйте итератор:
Iterator it = list.iterator (); while (it.hashnext) {system.out.println (it.next);}
Карта: карта - это коллекция объектов ключей карты и объектов значения. Каждый его элемент содержит пару ключевых объектов и объектов значения.
Когда карта не унаследована от интерфейса сбора, всякий раз, когда будет дано объект ключа, будет возвращен соответствующий объект значения.
Общие методы для карты:
1 Добавить и удалить операции:
Object PUT (ключ объекта, значение объекта): добавьте элементы в коллекцию
Объект удалить (ключ объекта): удаляет элементы, связанные с ключом
void putall (map t): добавляет все элементы из определенного изображения к изображению
void clear (): удалить все карты с изображения
2 операции запроса:
Object get (объект клавиша): Получите значение, связанное с ключом ключа. Ключевым объектам в сборе карт не разрешается повторять, то есть результат любых двух ключевых объектов, сравниваемых методом Equals (), является ложным. Однако любые несколько ключей могут быть отображены исключительно с одним и тем же объектом значения.
Соединения: класс утилиты сбора. Соединения обеспечивают практические статические методы для коллекций Java
Суммировать:
Основное использование коллекций Java было обобщено. Вышеуказанное - наиболее часто используемые коллекции Java. Для получения подробной информации, пожалуйста, обратитесь к справочнику JDK. Ха -ха, есть еще много применений карты, и это так. Connections предоставляет много практических методов для списка /карты, что очень полезно для ежедневного развития.
Boolean содержит (ключ объекта): определяет, есть ли ключ ключевого слова на изображении
Boolean содержит Value (значение объекта): определяет, есть ли значение на изображении
int size (): возвращает количество карт в текущем изображении
Boolean isempty (): определяет, есть ли какое -либо отображение на изображении
Список сохраняет объекты в том порядке, в котором объекты вводят, без операций сортировки или редактирования. SET принимает только один раз для каждого объекта и использует свой собственный метод внутренней сортировки (обычно вы заботитесь только о том, принадлежит ли элемент к установке, а не его порядок - в противном случае вы должны использовать список).
Карта также сохраняет копию каждого элемента, но она основана на «ключе», а Map также имеет встроенную сортировку, поэтому ему не заботится о том, в котором добавляются элементы. Если для вас важен порядок, в котором добавляются элементы, вы должны использовать LinkedHashset или LinkedHashmap.
Список функции Метод:
На самом деле есть два типа: один из них является основным массивом, который имеет преимущество случайного доступа к элементам, а другой - более мощный LinkedList, который не предназначен для быстрого случайного доступа, но имеет более общий набор методов.
Список: Порядок - самая важная особенность списка: он гарантирует, что конкретный порядок элементов поддерживается. Список добавляет множество методов в сбору, позволяя вставить и удалять элементы в середину списка (это рекомендуется только для LinkedList.) Список может генерировать листитер, который может использовать его для прохождения списка из двух направлений или вставить и удалять элементы из середины списка.
ArrayList: список реализован Array. Позволяет быстрый случайный доступ к элементам, но вставка и удаление элементов в середину списка медленно. ListIterator должен использоваться только для итерации через ArrayList от спины к вперед, а не вставить и удалять элементы. Потому что это намного дороже, чем LinkedList.
LinkedList: последовательный доступ оптимизирован, а накладные расходы внедрения и удаления в середину списка не очень высоки. Случайный доступ относительно медленный. (Вместо этого используйте ArrayList.) Также есть следующие методы: addFirst (), addlast (), getFirst (), getLast (), removeFirst () и removeLast (). Эти методы (не определенные ни в одном интерфейсе или базовом классе) делают использование LinkedList в качестве стека, очереди и двунаправленной очереди.
Метод функции набора:
SET имеет точно такой же интерфейс, что и коллекция, поэтому нет дополнительной функциональности, в отличие от двух разных списков впереди. На самом деле, набор - это коллекция, но поведение отличается. (Это типичное применение наследования и полиморфного мышления: выполнение различных поведений.) SET не сохраняет дублируемые элементы (что касается того, как судить элементы одинаковы, он более ответственен)
Установите: каждый элемент, хранящийся в наборе, должен быть уникальным, потому что набор не сохраняет дубликаты элементов. Элемент, добавленный к набору, должен определить метод equals (), чтобы обеспечить уникальность объекта. SET имеет точно такой же интерфейс, что и коллекция. Интерфейс SET не гарантирует порядок элементов обслуживания.
Hashset: набор, разработанный для быстрого поиска. Объект, хранящийся в хэшсете, должен определить HashCode ().
Treesset: установлен в порядке сохранения, базовый слой - это структура дерева. Используйте его для извлечения упорядоченных последовательностей из набора.
LinkedHashset: имеет скорость запроса хэшса и внутренне использует связанный список для поддержания порядка элементов (порядок внедрения). Поэтому, когда вы используете итератор для набора траверса, результаты будут отображаться в порядке, в котором вставлены элементы.
Метод функции карты:
Метод PUT (ключ объекта, значение объекта) добавляет «значение» (хочу что -то) и «клавишу», связанную с «значением» (используя его для поиска). Метод get (ключ объекта) возвращает «значение», связанное с данным «ключом». Вы можете использовать SonatainsKey () и содержит VALALUE (), чтобы проверить, включена ли «ключ» или «значение» в карту.
Стандартная библиотека классов Java содержит несколько разных карт: Hashmap, TreeMap, LinkedHashmap, SleedHashmap, IdentityHashmap. Все они имеют одинаковую базовую карту интерфейса, но их поведение, эффективность, стратегии сортировки, спасение жизненного цикла объектов и определение эквивалента «ключей».
Эффективность выполнения - большая проблема с картой. Если вы посмотрите, что будет делать (), вы поймете, почему поиск «ключа» в ArrayList довольно медленно. И это где HashMap ускоряется. HashMap использует специальное значение, называемое хэш -кодом для замены медленных поисков ключей.
«Имеет код», «относительно уникальный» для представления значения int объекта, и он генерируется путем преобразования определенной информации объекта. Все объекты Java могут генерировать хэш -коды, потому что HashCode () - это метод, определенный в объекте базового класса.
HashMap использует HashCode () объекта для быстрого запроса. Этот метод может значительно улучшить производительность.
Карта: поддерживает корреляцию «паров ключей», чтобы вы могли найти «значения» через «Ключи»
HashMap: Карта основана на реализации хэш -таблицы. Накладные расходы внедрения и запроса «пары ключей» зафиксированы. Пропускная способность и коэффициент нагрузки коэффициента нагрузки могут быть установлены через конструктор для регулировки производительности контейнера.
LinkedHashmap: аналогично HashMap, но когда итерация над ним, порядок, в котором «пара ключей»-это порядок вставки или порядок наименьшего недавнего (LRU). Лишь немного медленнее, чем хэшмап. Это быстрее отправлять при итеративном обращении, потому что он использует связанные списки для поддержания внутреннего порядка.
TREEMAP: реализация на основе структуры данных красного и черного дерева. Когда вы смотрите на «клавиши» или «пары ключей», они отсортируются (порядок определяется сравнительной или компаратором). TreeMap характеризуется тем фактом, что результаты, которые вы получаете, отсортированы. TreeMap - единственная карта с методом Sump (), которая может вернуть поддерев.
Sleashhashmap: Слабая карта ключей, объекты, используемые на карте, также разрешаются выпустить: это предназначено для решения особых проблем. Если ссылка за пределами карты указывает на «ключ», этот «ключ» может быть переработана коллекционером мусора.
Идентифицировать HASHMAP: Использовать == вместо равных () для сравнения «клавиш». Разработано специально для решения особых проблем.