1. Обзор фреймворма Java Collection
Java SE включает в себя фреймворк с коллекцией Java (JCF), состоящая из набора классов и интерфейсов. Его основная функция заключается в том, чтобы организовать сохраненные данные в определенной структуре и получить доступ к этим данным определенным образом. Его цель состоит в том, чтобы обеспечить общую структуру для обработки коллекций объектов и уменьшить объем кодирования, который используют программисты при обработке различных коллекций объектов.
Некоторые различия в классах сбора, в дополнение к тому, поддерживают ли они дублирующие операции элемента, включают в себя, в порядке ли элементы и разрешены ли нулевые элементы. Согласно этим трем различиям в рамках сбора Java, методы хранения объектов разделены на три типа, а именно:
Чтобы поддержать операции сортировки и доступа к доступу объектов, в рамках сбора Java предоставляется несколько интерфейсов:
2. Интерфейс сбора и интерфейс итератора
Некоторые основные методы, разделяемые с помощью объектов сбора, определены в интерфейсе сбора.
| метод | описывать |
| int size () | Возвращает количество элементов, содержащихся в текущей коллекции |
| isempyt () | Определите, содержит ли набор элементы |
| логический содержит (объект o) | Определите, содержится ли указанный элемент в коллекции |
| добавить (объект o) | Добавить элемент в коллекцию |
| удалить (объект o) | Удалить элемент из коллекции |
| Итератор итератор () | Возвращает обход, чтобы получить доступ к различным элементам в коллекции |
Интерфейс итератор - это интерфейс, используемый для прохождения коллекции.
| метод | описывать |
| hasnext () | Если в коллекции больше элементов, метод возвращает истинность |
| следующий() | Вернуть следующий элемент в коллекции |
| удалять() | Удалить последний элемент, возвращенный итератором |
1. Слист интерфейс
Интерфейс списка унаследован от интерфейса сбора, и он имеет следующие характеристики:
Наиболее часто используемыми классами реализации для интерфейса списка являются класс ArrayList и класс LinkedList.
1) .ArrayList
Пример программы:
Пакет Лей; импортировать java.util.arraylist; импортировать java.util.list; открытый тест класса {public static void main (string [] args) {list list = new ArrayList <> (); list.add (1); list.add ("Zhangsan"); list.add (false); list.add ('a'); list.add (0, "lisi"); list.add (1); list.remove (1); list.remove (2); list.set (0, "wangwu"); for (int i = 0; i <list.size (); i ++) {System.out.println (list.get (i)); }}}Метод equals (), определенный классом объекта, будет возвращать True только тогда, когда объект передается методу, а объект, вызывающий метод, является одним и тем же объектом. Два объекта с одним и тем же состоянием можно рассматривать как один и тот же объект, перезаписывая метод Equals ().
2) .linkedList
| метод | описывать |
| void addfirst | Добавить объект в начале связанного списка |
| void Addlast | Добавить объект в конце связанного списка |
| getFirst () | Вернуть первый элемент в связанном списке |
| getLast () | Вернуть последний элемент в связанном списке |
| Удалить FIRST () | Удалить первый элемент в связанном списке |
| removeLast () | Удалить последний элемент в связанном списке |
Пример программы:
Пакет Лей; импортировать java.util.linkedlist; импортировать java.util.list; public class test2 {public static void main (string [] args) {linkedList l = new LinkedList <> (); L.Add ("Zhangsan"); L.Add ("LISI"); L.Addfirst (1); L.Addlast (4); System.out.println (l.getFirst ()); System.out.println (l.getlast ()); L.ReMoveFirst (); L.Removelast (); for (int i = 0; i <l.size (); i ++) {System.out.println (l.get (i)); }}}Выбор LinkedList против ArrayList
Если список должен быть быстро доступен, но часто не вставляет и удаляет элементы, будет лучше выбрать ArrayList; Если список необходимо часто вставлять и удалять, то вы должны выбрать LinkedList.
2.set interface
Интерфейс SET наследует от интерфейса сбора, а также наследует все методы интерфейса сбора. Интерфейс SET имеет следующие характеристики:
Наиболее часто используемыми для реализации установленного интерфейса являются класс HashSet и класс TreesSet.
1) .hashset
Класс HashSet - это реализация интерфейса SET, основанную на алгоритме хэш -аш. У него есть следующие характеристики:
Если класс, который мы написали, переопределяет метод Equals, то этот класс также должен переопределить метод HashCode () и убедиться, что когда результат двух объектов сравнивается с методом Equals, верно, возвращаемые значения метода HashCode () двух объектов равны.
Пример программы:
Пакет Лей; импортировать java.util.hashset; импортировать java.util.set; public class test4 {public static void main (string [] args) {set <string> set = new Hashset <string> (); set.add ("Zhangsan"); set.add ("lisi"); for (String S: set) {System.out.println (s); }}}2) .treeset
Класс Treesset не только реализует интерфейс набора классов, но также реализует интерфейс SortedSet, чтобы гарантировать, что объекты в коллекции отсортированы в определенном порядке. Когда объект добавляется в коллекцию деревьев, он вставляется в упорядоченную последовательность объектов, но этот вид не отсортируется в том порядке, в котором объекты добавляются, но отсортируются в соответствии с определенным алгоритмом.
Treesset сортирует элементы в естественном порядке элементов или сортирует их в соответствии с компаратором, предоставленным при создании набора. Treesset поддерживает два метода сортировки: естественная сортировка и пользовательская сортировка.
3. Map Interface
Интерфейс карты (карта) является еще одним важным интерфейсом в фреймворке коллекции Java, которая отличается от интерфейса коллекции. Это соответствует коллекции соответствующих отношений от ключей до значений. В контейнере объекта карты есть две группы объектов, одна группа объектов используется для сохранения ключа на карте, а другая группа используется для сохранения значения. Ключ и значение могут обновить данные любого эталонного типа. Ключ не может быть повторен, но значение можно повторить.
1) .hashmap
HashMap - это реализация интерфейса карты на основе алгоритма хэш -ашина. HashMap сохраняет свои ключи в хэш -таблице для технического обслуживания, а ключи уникальны. Тем не менее, HashMap не гарантирует, что ключи расположены в определенном порядке, особенно в том, что заказ постоянно неизменен.
Класс HashMap реализует интерфейс карты, имея все методы интерфейса карты.
Пакет Day1228; Импорт java.util.*; открытый класс hashmapdemo {public static void main (string [] args) {// Создать новую карту HashMap <String, String> map = new HashMap <String, String> (); map.put ("a1", "xiao"); map.put ("b2", "xiaol"); map.put ("a4", "xiaosd"); map.put ("b1", "12a"); map.put ("a3", "1"); // Использование итератора для прохождения ключа и значения System.out.println («До значения карты:»); SET <String> keys = map.keySet (); for (iterator <string> i = keys.iterator (); i.hasnext ();) {string key = i.next (); String value = map.get (key); System.out.println (key + "=" + value); } // Удалить значение с помощью ключа "a4" System.out.println ("/ndelete элемент с значением ключа A4"); map.remove ("a4"); // // Использование итератора для прохождения ключей и значений System.out.println ("/n Значение карты после:"); keys = map.keyset (); for (iterator <string> i = keys.iterator (); i.hasnext ();) {string key = i.next (); String value = map.get (key); System.out.println (key + "=" + value); }}}2) .treemap
Класс TreeMap - это реализация интерфейса карты, основанную на алгоритме красного и черного дерева. Метод хранения ключей в TreeMap похож на Treesset. Он хранит ключи в дереве, а порядок клавиш расположен в естественном порядке или пользовательском порядке.
Пример программы:
Пакет Day1228; Импорт java.util.*; открытый класс treeMapdemo {public static void main (string [] args) {// Создать новую карту TreeMap <Integer, String> map = new TreeMap <Integer, String> (); map.put (1, "один"); map.put (2, «два»); map.put (3, "три"); map.put (4, "четыре"); map.put (5, "пять"); // Использование итератора для отображения клавиш и значений System.out.println («Предыдущее значение карты:»); SET <Integer> keys = map.keyset (); for (объект клавиша: keys) {string value = map.get (key); System.out.println (key+"="+value); } // Удалить значение ключа 3 System.out.println ("/ndelete Элемент с значением ключа 3"); map.remove (3); // Использование итератора для отображения ключа и значения System.out.println ("/n Значение после карты:"); for (объект клавиша: keys) {string value = map.get (key); System.out.println (key+"="+value); }}}Выше всего содержание этой статьи. Я надеюсь, что содержание этой статьи поможет всем, кто учится или работа. Я также надеюсь поддержать Wulin.com больше!