|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Добавление элемента в позицию 2[a, b, X, c, d, e, f, a, g] [a, b, X, c, d, e, f, W, g]после замены элемента [b, X, c, d, e, f, W, g]удален элемент a Коллекция LinkedList<E> реализует связанный список. В отличие от массива, который хранит объекты в последовательных ячейках памяти, связанный список хранит объекты отдельно, но вместе со ссылками на следующее и предыдущее звенья последовательности. В добавление ко всем имеющимся методам в LinkedList<E> реализованы методы void addFirst(E ob), void addLast(E ob), E getFirst(), Класс LinkedList<E> реализует интерфейс Queue<E>, что позволяет предположить, что такому списку легко придать свойства очереди. К тому же специализированные методы интерфейса Queue<E> по манипуляции первым и последним элементами такого списка E element(), boolean offer(E o), E peek(), E poll() , E remove() работают немного быстрее, чем соответствующие методы класса LinkedList<E>. Методы интерфейса Queue<E>: E element() – возвращает, но не удаляет головной элемент очереди; boolean offer(E o) – вставляет элемент в очередь, если возможно; E peek() – возвращает, но не удаляет головной элемент очереди, возвращает null , если очередь пуста; E poll() – возвращает и удаляет головной элемент очереди, возвращает null , если очередь пуста; E remove() – возвращает и удаляет головной элемент очереди.Методы element() и remove() отличаются от методов peek() и poll() тем, что генерируют исключение, если очередь пуста. /* пример # 5: добавление и удаление элементов: DemoLinkedList.java */ package chapt10; import java.util.*;
public class DemoLinkedList { public static void main(String[] args){ LinkedList<Number> a = new LinkedList<Number>(); for (int i = 10; i <= 15; i++) a.add(i); for (int i = 16; i <= 20; i++) a.add(new Float(i)); ListIterator<Number> list = a.listIterator(10); System. out. println("\n"+ list.nextIndex() + "-й индекс"); list.next(); // важно! System. out. println(list.nextIndex() + "-й индекс"); list.remove(); // удаление элемента с текущим индексом while (list.hasPrevious()) System. out. print(list.previous()+" "); /*вывод в обратном порядке*/ // демонстрация работы методов a.removeFirst(); a.offer(71); // добавление элемента в конец списка a.poll(); // удаление нулевого элемента из списка a.remove(); // удаление нулевого элемента из списка a.remove(1); // удаление первого элемента из списка System. out. println("\n" + a);
Queue<Number> q = a; // список в очередь for (Number i: q) // вывод элементов System. out. print(i + " "); System. out. println(":size= " + q.size());
// удаление пяти элементов for (int i = 0; i < 5; i++) { Number res = q.poll(); } System. out. print("size= " + q.size()); } } В результате будет выведено: Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |