Ранее мы видели Arrays и ArrayList. В этом посте мы увидим LinkedList в Java. LinkedList — это класс в Collection Framework. Класс LinkedList реализует интерфейсы List и Deque. Класс LinkedList расширяет класс AbstractList. Давайте рассмотрим некоторые ключевые моменты в LinkedList.
- Класс LinkedList может содержать повторяющиеся элементы в списке.
- LinkedList используется для создания пустого связанного списка.
- Класс LinkedList поддерживает вставку порядок.
- Класс LinkedList не синхронизирован.
- В классе LinkedList манипулирование выполняется быстро, поскольку не требуется сдвиг, когда новый элемент вставляется или удаляется из списка.
Пример Java LinkedList:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
| package samplePackage; импортировать java.util.LinkedList; public class LinkedListExample {public static void main(String args[]) {//Создание связанного списка objectLinkedList<String> lref = new LinkedList<String>();//Добавление элементов с помощью метода addlref.add(“IDE”);lref.add(“RC”);lref.add(“WebDriver”);lref.add(“Grid”);System.out.println (lref);//Добавление элемента в первую позицию в списке с помощью addFirstlref.addFirst(“QTP”);//Добавление элемента в последнюю позицию в списке с помощью addLastlref.addLast(“Protractor”);System.out.println(lref) ;//Добавляем элементы по индексу 1 в listlref.add(0, “Mercury”);System.out.println(lref);//Удаление первого элемента из списка с помощью метода removeFirstlref.removeFirst();//Удаление последнего элемента из list с помощью removeLast method.lref.removeLast();System.out.println(lref);//Удаление элемента из списка с помощью valuelref.remove(“Two”);System.out.println(lref);//Удаление элемента из список с помощью indexlref.remove(3);System.out.println(lref);//Получить элемент из списка с помощью indexSystem.out.println(lref.get(0));//Установить элемент по заданному индексу в listlref.set (3, “Новая запись”);System.out.println(lref);//У нас есть четыре способа вывести все значения связанного спискаSystem.out.println(“====== Цикл For начинается здесь == ====” );для(целое л=0; l<lref.size(); l++) {System.out.println(lref.get(l));}System.out.println(“====== Цикл for заканчивается здесь ======”);System.out.println( “====== Для каждого начинается здесь ======”); for(String str:lref) {System.out.println(str);}System.out.println(“===== = For Each заканчивается здесь ======”); System.out.println(“====== Итератор начинается здесь ======”); Iterator <String> it = lref.iterator( ); while(it.hasNext()){System.out.println(it.next());}System.out.println(“====== Итератор заканчивается здесь ======”); System.out.println(“====== Пока начинается здесь ======”); int число = 0; в то время как (lref.size()>num){System.out.println(lref.get(num));num=num+1;}System.out.println(“====== Пока заканчивается здесь ======”);} } |
Вывод:
12345678
| [IDE, RC, WebDriver, Grid][QTP, IDE, RC, WebDriver, Grid, Protractor][Mercury, QTP , IDE, RC, WebDriver, Grid, Protractor][QTP, IDE, RC, WebDriver, Grid][QTP, IDE, RC, WebDriver, Grid][QTP, IDE, RC, Grid]QTP[QTP, IDE, RC, Новая запись] |
LinkedList с использованием цикла For:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
| package samplePackage; импортировать java.util.LinkedList; public class LinkedListExample {public static void main(String args[]) {//Создание связанного списка objectLinkedList<String> lref = new LinkedList<String>();//Добавление элементов с помощью метода addlref.add(“IDE”);lref.add(“RC”);lref.add(“WebDriver”);lref.add(“Grid”);System.out.println (lref);//Добавление элемента в первую позицию в списке с помощью addFirstlref.addFirst(“QTP”);//Добавление элемента в последнюю позицию в списке с помощью addLastlref.addLast(“Protractor”);System.out.println(lref) ;//Добавляем элементы по индексу 1 в listlref.add(0, “Mercury”);System.out.println(lref);//Удаление первого элемента из списка с помощью метода removeFirstlref.removeFirst();//Удаление последнего элемента из list с помощью removeLast method.lref.removeLast();System.out.println(lref);//Удаление элемента из списка с помощью valuelref.remove(“Two”);System.out.println(lref);//Удаление элемента из список с помощью indexlref.remove(3);System.out.println(lref);//Получить элемент из списка с помощью indexSystem.out.println(lref.get(0));//Установить элемент по заданному индексу в listlref.set (3, “Новая запись”); System.out.println(lref);System.out.println(“====== Цикл For начинается здесь ======”);for(int l=0 ;l<lref.size(); l++) {System.out.println(l ref.get(l));}System.out.println(“====== Цикл For заканчивается здесь ======”);}} |
Вывод:
1234567891011121314
| [IDE, RC, WebDriver, Grid][QTP, IDE, RC, WebDriver, Grid, Protractor][Mercury, QTP, IDE, RC, WebDriver, Grid, Protractor][QTP, IDE, RC, WebDriver, Grid][QTP , IDE, RC, WebDriver, Grid][QTP, IDE, RC, Grid]QTP[QTP, IDE, RC, New Entry]====== Цикл for начинается здесь ======QTPIDERCNew Entry=== === Цикл For заканчивается здесь ====== |
LinkedList с расширенным циклом For:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
| образец пакетаПакет; импортировать java.util.LinkedList; public class LinkedListExample {public static void main(String args[]) {//Создание связанного списка objectLinkedList<String> lref = new LinkedList<String>();//Добавление элементов с помощью метода addlref.add(“IDE”);lref.add(“RC”);lref.add(“WebDriver”);lref.add(“Grid”);System.out.println (lref);//Добавление элемента в первую позицию в списке с помощью addFirstlref.addFirst(“QTP”);//Добавление элемента в последнюю позицию в списке с помощью addLastlref.addLast(“Protractor”);System.out.println(lref) ;//Добавляем элементы по индексу 1 в listlref.add(0, “Mercury”);System.out.println(lref);//Удаление первого элемента из списка с помощью метода removeFirstlref.removeFirst();//Удаление последнего элемента из list с помощью removeLast method.lref.removeLast();System.out.println(lref);//Удаление элемента из списка с помощью valuelref.remove(“Two”);System.out.println(lref);//Удаление элемента из список с помощью indexlref.remove(3);System.out.println(lref);//Получить элемент из списка с помощью indexSystem.out.println(lref.get(0));//Установить элемент по заданному индексу в listlref.set (3, “Новая запись”); System.out.println(lref);System.out.println(“====== Расширенный цикл For начинается здесь ======”);for(String str: lref) {System.out.println(str);}S ystem.out.println(“====== Цикл Enhanced For заканчивается здесь ======”);}} |
Вывод:
1234567891011121314
| [IDE, RC, WebDriver, Grid][QTP, IDE, RC, WebDriver, Grid, Protractor][Mercury, QTP, IDE, RC, WebDriver, Grid, Protractor][QTP, IDE, RC, WebDriver, Grid][QTP , IDE, RC, WebDriver, Grid][QTP, IDE, RC, Grid]QTP[QTP, IDE, RC, New Entry]====== Расширенный цикл For начинается здесь ======QTPIDERCNew Entry== ==== Цикл Enhanced For заканчивается здесь ====== |
LinkedList с использованием итератора:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
| samplepackage-package-package=crayon импортировать java.util.Iterator; импортировать java.util.LinkedList; public class LinkedListExample {public static void main(String args[]) {//Создание связанного списка objectLinkedList<String> lref = new LinkedList<String>();//Добавление элементов с помощью метода addlref.add(“IDE”);lref.add(“RC”);lref.add(“WebDriver”);lref.add(“Grid”);System.out.println (lref);//Добавление элемента в первую позицию в списке с помощью addFirstlref.addFirst(“QTP”);//Добавление элемента в последнюю позицию в списке с помощью addLastlref.addLast(“Protractor”);System.out.println(lref) ;//Добавляем элементы по индексу 1 в listlref.add(0, “Mercury”);System.out.println(lref);//Удаление первого элемента из списка с помощью метода removeFirstlref.removeFirst();//Удаление последнего элемента из list с помощью removeLast method.lref.removeLast();System.out.println(lref);//Удаление элемента из списка с помощью valuelref.remove(“Two”);System.out.println(lref);//Удаление элемента из список с помощью indexlref.remove(3);System.out.println(lref);//Получить элемент из списка с помощью indexSystem.out.println(lref.get(0));//Установить элемент по заданному индексу в listlref.set (3, “Новая запись”); System.out.println(lref); System.out.println(“====== Итератор начинается здесь ======”); Итератор <String> it = lref.iterator(); while(it.hasNext()){System.out .println(it.next());}System.out.println(“====== Итератор заканчивается здесь ======”);}} |
Вывод:
1234567891011121314
| [IDE, RC, WebDriver, Grid][QTP, IDE, RC, WebDriver, Grid, Protractor][Mercury, QTP, IDE, RC, WebDriver, Grid, Protractor][QTP, IDE , RC, WebDriver, Grid][QTP, IDE, RC, WebDriver, Grid][QTP, IDE, RC, Grid]QTP[QTP, IDE, RC, New Entry]====== Итератор начинается здесь === ===QTPIDERCНовая запись====== Итератор заканчивается здесь ====== |
Методы для Java LinkedList:
- int size(): возвращает количество элементов в списке.
- void clear(): удаляет все элементы из списка.
- Object set(int index, Object element): используется для замены существующего элемента в списке новым элементом.
- void add(int index, Object element): вставляет элемент в позицию 'index' в списке.
- void addFirst(элемент объекта): вставляет элемент в начало списка.
- void addLast(элемент объекта): добавляет элемент в конец списка.
- Object get(int index): возвращает элемент в позиции «индекс» в списке. Выдает 'IndexOutOfBoundsException', если индекс находится вне диапазона списка.
- Объект getFirst(): возвращает первый элемент связанного списка.
- Объект getLast(): возвращает последний элемент связанного списка. List.
- int indexOf(элемент объекта): если элемент найден, он возвращает индекс первого вхождения элемента. В противном случае он возвращает -1.
- int lastIndexOf(элемент объекта): если элемент найден, он возвращает индекс последнего вхождения элемента. В противном случае возвращается -1.
- Object remove(): используется для удаления и возврата элемента из начала списка.
- Object remove(int index): удаляет элемент в позиции 'index ' в этом списке. Выдает NoSuchElementException, если список пуст.
- Объект removeLast(): используется для удаления и возврата последнего элемента связанного списка.
Обязательно к прочтению: руководство по Java
TAG: qa