126
Функция языка,
представленная
, начиная с версии Java 5.0 называется
родовыми коллекциями (или дженериками).
Дженерики позволяют определить коллекцию, содержащую ссылки на объекты
определенного типа:
List
myList = new ArrayList();
Где
myList
является списком объектов
String
, где строка является
параметрическим типом. В
myList
можно хранить только ссылки на объекты типа
String
, и все извлекаемые элементы тоже имеют тип
String
. Параметрические
типы аналогичны параметрам методов. На рисунке 7.3 приведена спецификация
класса
ArrayList
.
Рисунок 7.3 – Спецификация класса ArrayList
Использование
ArrayList.
ArrayList
дает дополнительные возможности сверх того, что обеспечивают
обычные массивы. Сочетание Автоупаковки (Autoboxing) с Generic Collection
(коллекциями дженериков) дает вам возможность хранить и извлекать примитивные
типы данных при работе с
ArrayList
.
Односвязные списки и двусвязные списки. Реализация на Java.
ArrayList
: методы добавления и удаления работают за линейное время,
потому что они требуют, чтобы цикл сдвига элементов в массиве подстилающей.
LinkedList
преодолевает это ограничение, предоставляя возможность
добавлять или удалять элементы в любом месте в списке за постоянное время.
127
Каждый элемент списка (узел) содержит информационные поля и ссылку на
следующий узел, и необязательно, ссылку на предыдущий узел.
Узел списка.
Узел содержит поля данных и одну или несколько ссылок.
Ссылка является
ссылкой на следующий узел. Узел обычно определяется внутри другого класса, что
делает его внутренним классом (
inner
) для контейнера.
Схема односвязного списка на рисунке 7.4 – 7.6.
Рисунок 7.4 – Single-Linked Lists
Рисунок 7.5 – Single-Linked Lists
Достарыңызбен бөлісу: