Реализация LinkedList интерфейса List . Реализует все необязательные операции со списком и разрешает все элементы (включая ноль ). В дополнение к реализации интерфейса List класс LinkedList предоставляет методы с одинаковыми именами для получения , удаления и вставки элемента в начале и конце списка. Эти операции позволяют использовать связанные списки как стек, очередь или двустороннюю очередь .
Класс реализует интерфейс Deque , предоставляя операции очереди «первым пришел — первым вышел» для операций добавления , опроса , а также других операций стека и удаления.
Все операции выполняются, как и следовало ожидать для двусвязного списка. Операции, которые индексируют в списке, будут проходить по списку с начала или конца, в зависимости от того, что ближе к указанному индексу.
Обратите внимание, что эта реализация not synchronized , Если несколько потоков обращаются к связанному списку одновременно, и хотя бы один из потоков структурно изменяет список, он должен быть синхронизирован извне.
Давайте сначала создадим экземпляр и заполним реализацию LinkedList, которая содержит имена ведущих компаний Bay Area.
Java-код:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
пакет crunchify. ком . учебные пособия ;
Импортировать Java. Util. LinkedList ;
Импортировать Java. Util. ListIterator ;
/ **
* @author Crunchify.com
* Как перебирать LinkedList в Java?
* /
общественности учебный класс CrunchifyLinkedListIterator {
общественности статический недействительным main ( Строка [ ] аргументы ) {
LinkedList
LinkedList. добавить ( «Paypal» ) ;
LinkedList. добавить ( Google ) ;
LinkedList. добавить ( «Yahoo» ) ;
LinkedList. добавить ( «IBM» ) ;
LinkedList. добавить ( Facebook ) ;
// ListIterator подход
Система. вне. println ( Подход ListIterator: ========== ) ;
ListIterator
в то время как ( listIterator . hasNext ( ) ) {
Система. вне. println ( listIterator . next ( ) ) ;
}
Система. вне. println ( / nLoop Approach: ========== ) ;
// Традиционный для петлевого подхода
за ( int я знак равно 0 ; я < LinkedList. размер ( ) ; я ++ ) {
Система. вне. println ( connectedList . get ( i ) ) ;
}
// Цикл Java8
Система. вне. println ( / nJava8 подход: ========== ) ;
// forEach Выполняет данное действие для каждого элемента Iterable, пока все элементы не будут обработаны или
// действие выдает исключение.
LinkedList. Foreach (система из:: Println.);
}
}
|
Выход:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
Подход ListIterator :
Paypal
Google
Yahoo
IBM
facebook
Петлевой подход :
Paypal
Google
Yahoo
IBM
facebook
Подход Java8 :
Paypal
Google
Yahoo
IBM
facebook
|
0.00 (0%) 0 votes







