Клас Java LinkedList використовує подвійний зв’язаний список для зберігання елементів. Він забезпечує структуру даних зв’язаного списку. Він успадковує клас AbstractList і реалізує інтерфейси List і Deque.
Важливі моменти щодо Java LinkedList:
- Клас Java LinkedList може містити повторювані елементи.
- Клас Java LinkedList підтримує порядок вставки.
- Клас Java LinkedList не синхронізований.
- У класі Java LinkedList маніпуляції відбуваються швидко, оскільки не потрібно зміщувати.
- Клас Java LinkedList можна використовувати як список, стек або чергу.
Ієрархія класу LinkedList
Як показано на схемі вище, клас Java LinkedList розширює клас AbstractSequentialList і реалізує інтерфейси List і Deque.
які місяці в Q3
Двізв'язаний список
У випадку подвійного зв’язаного списку ми можемо додавати або видаляти елементи з обох сторін.
Оголошення класу LinkedList
Давайте подивимося оголошення для класу java.util.LinkedList.
public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable
Конструктори Java LinkedList
Конструктор | опис |
---|---|
LinkedList() | Він використовується для створення порожнього списку. |
LinkedList (колекція c) | Він використовується для побудови списку, що містить елементи вказаної колекції в порядку, у якому їх повертає ітератор колекції. |
Методи Java LinkedList
метод | опис |
---|---|
логічне додавання (E e) | Він використовується для додавання зазначеного елемента в кінець списку. |
void add(int index, E element) | Він використовується, щоб вставити вказаний елемент у вказану позицію в списку. |
логічне значення addAll(Collection c) | Він використовується для додавання всіх елементів у вказаній колекції в кінець цього списку в тому порядку, у якому їх повертає ітератор зазначеної колекції. |
логічне значення addAll(Collection c) | Він використовується для додавання всіх елементів у вказаній колекції в кінець цього списку в тому порядку, у якому їх повертає ітератор зазначеної колекції. |
boolean addAll(int index, Collection c) | Він використовується для додавання всіх елементів у вказану колекцію, починаючи з зазначеної позиції списку. |
void addFirst(E e) | Використовується для вставки заданого елемента на початку списку. |
void addLast(E e) | Він використовується для додавання заданого елемента в кінець списку. |
void clear() | Використовується для видалення всіх елементів зі списку. |
Об'єкт clone() | Він використовується для повернення неглибокої копії ArrayList. |
логічний містить (об'єкт o) | Він використовується для повернення істини, якщо список містить вказаний елемент. |
Ітератор descendingIterator() | Він використовується, щоб повернути ітератор над елементами в двоканальній послідовності у зворотному послідовному порядку. |
E елемент() | Він використовується для отримання першого елемента списку. |
E get(int index) | Він використовується для повернення елемента на вказану позицію в списку. |
E getFirst() | Він використовується для повернення першого елемента в списку. |
E getLast() | Він використовується для повернення останнього елемента в списку. |
int indexOf(Object o) | Він використовується для повернення індексу в списку першого входження зазначеного елемента або -1, якщо список не містить жодного елемента. |
int lastIndexOf(Object o) | Він використовується для повернення індексу в списку останнього входження зазначеного елемента або -1, якщо список не містить жодного елемента. |
ListIterator listIterator(int index) | Він використовується для повернення списку-ітератора елементів у правильній послідовності, починаючи з указаної позиції у списку. |
логічна пропозиція (E e) | Він додає вказаний елемент як останній елемент списку. |
логічне значення offerFirst(E e) | Він вставляє вказаний елемент на початку списку. |
логічне значення offerLast(E e) | Він вставляє вказаний елемент у кінець списку. |
E peek() | Він отримує перший елемент списку |
E peekFirst() | Він отримує перший елемент списку або повертає null, якщо список порожній. |
E peekLast() | Він отримує останній елемент списку або повертає null, якщо список порожній. |
Е опитування() | Він отримує та видаляє перший елемент списку. |
E pollFirst() | Він отримує та видаляє перший елемент списку або повертає null, якщо список порожній. |
E pollLast() | Він отримує та видаляє останній елемент списку або повертає значення null, якщо список порожній. |
І поп() | Він витягує елемент зі стеку, представленого списком. |
порожній поштовх (E e) | Він поміщає елемент у стек, представлений списком. |
E видалити() | Він використовується для отримання та видалення першого елемента списку. |
E видалити (індекс) | Він використовується для видалення елемента у вказаній позиції у списку. |
логічне видалення (об'єкт o) | Він використовується для видалення першого входження зазначеного елемента в списку. |
E removeFirst() | Він видаляє та повертає перший елемент зі списку. |
логічне значення removeFirstOccurrence(Object o) | Він використовується для видалення першого входження зазначеного елемента в списку (під час обходу списку від початку до кінця). |
E removeLast() | Він видаляє та повертає останній елемент зі списку. |
логічне значення removeLastOccurrence(Object o) | Він видаляє останнє входження зазначеного елемента у списку (під час обходу списку від початку до кінця). |
E set(int index, E element) | Він замінює елемент у вказаній позиції в списку вказаним елементом. |
Object[] toArray() | Він використовується для повернення масиву, що містить усі елементи списку в правильній послідовності (від першого до останнього елемента). |
T[] toArray(T[] a) | Він повертає масив, що містить усі елементи у правильній послідовності (від першого до останнього елемента); тип середовища виконання поверненого масиву – це тип зазначеного масиву. |
int size() | Використовується для повернення кількості елементів у списку. |
Приклад Java LinkedList
import java.util.*; public class LinkedList1{ public static void main(String args[]){ LinkedList al=new LinkedList(); al.add('Ravi'); al.add('Vijay'); al.add('Ravi'); al.add('Ajay'); Iterator itr=al.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }
Output: Ravi Vijay Ravi Ajay
Приклад Java LinkedList для додавання елементів
Тут ми бачимо різні способи додавання елементів.
import java.util.*; public class LinkedList2{ public static void main(String args[]){ LinkedList ll=new LinkedList(); System.out.println('Initial list of elements: '+ll); ll.add('Ravi'); ll.add('Vijay'); ll.add('Ajay'); System.out.println('After invoking add(E e) method: '+ll); //Adding an element at the specific position ll.add(1, 'Gaurav'); System.out.println('After invoking add(int index, E element) method: '+ll); LinkedList ll2=new LinkedList(); ll2.add('Sonoo'); ll2.add('Hanumat'); //Adding second list elements to the first list ll.addAll(ll2); System.out.println('After invoking addAll(Collection c) method: '+ll); LinkedList ll3=new LinkedList(); ll3.add('John'); ll3.add('Rahul'); //Adding second list elements to the first list at specific position ll.addAll(1, ll3); System.out.println('After invoking addAll(int index, Collection c) method: '+ll); //Adding an element at the first position ll.addFirst('Lokesh'); System.out.println('After invoking addFirst(E e) method: '+ll); //Adding an element at the last position ll.addLast('Harsh'); System.out.println('After invoking addLast(E e) method: '+ll); } }
Initial list of elements: [] After invoking add(E e) method: [Ravi, Vijay, Ajay] After invoking add(int index, E element) method: [Ravi, Gaurav, Vijay, Ajay] After invoking addAll(Collection c) method: [Ravi, Gaurav, Vijay, Ajay, Sonoo, Hanumat] After invoking addAll(int index, Collection c) method: [Ravi, John, Rahul, Gaurav, Vijay, Ajay, Sonoo, Hanumat] After invoking addFirst(E e) method: [Lokesh, Ravi, John, Rahul, Gaurav, Vijay, Ajay, Sonoo, Hanumat] After invoking addLast(E e) method: [Lokesh, Ravi, John, Rahul, Gaurav, Vijay, Ajay, Sonoo, Hanumat, Harsh]
Приклад Java LinkedList для видалення елементів
Тут ми бачимо різні способи видалення елемента.
рекха індійська
import java.util.*; public class LinkedList3 { public static void main(String [] args) { LinkedList ll=new LinkedList(); ll.add('Ravi'); ll.add('Vijay'); ll.add('Ajay'); ll.add('Anuj'); ll.add('Gaurav'); ll.add('Harsh'); ll.add('Virat'); ll.add('Gaurav'); ll.add('Harsh'); ll.add('Amit'); System.out.println('Initial list of elements: '+ll); //Removing specific element from arraylist ll.remove('Vijay'); System.out.println('After invoking remove(object) method: '+ll); //Removing element on the basis of specific position ll.remove(0); System.out.println('After invoking remove(index) method: '+ll); LinkedList ll2=new LinkedList(); ll2.add('Ravi'); ll2.add('Hanumat'); // Adding new elements to arraylist ll.addAll(ll2); System.out.println('Updated list : '+ll); //Removing all the new elements from arraylist ll.removeAll(ll2); System.out.println('After invoking removeAll() method: '+ll); //Removing first element from the list ll.removeFirst(); System.out.println('After invoking removeFirst() method: '+ll); //Removing first element from the list ll.removeLast(); System.out.println('After invoking removeLast() method: '+ll); //Removing first occurrence of element from the list ll.removeFirstOccurrence('Gaurav'); System.out.println('After invoking removeFirstOccurrence() method: '+ll); //Removing last occurrence of element from the list ll.removeLastOccurrence('Harsh'); System.out.println('After invoking removeLastOccurrence() method: '+ll); //Removing all the elements available in the list ll.clear(); System.out.println('After invoking clear() method: '+ll); } }
Initial list of elements: [Ravi, Vijay, Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking remove(object) method: [Ravi, Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking remove(index) method: [Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] Updated list : [Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit, Ravi, Hanumat] After invoking removeAll() method: [Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking removeFirst() method: [Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking removeLast() method: [Gaurav, Harsh, Virat, Gaurav, Harsh] After invoking removeFirstOccurrence() method: [Harsh, Virat, Gaurav, Harsh] After invoking removeLastOccurrence() method: [Harsh, Virat, Gaurav] After invoking clear() method: []
Приклад Java LinkedList для перевертання списку елементів
import java.util.*; public class LinkedList4{ public static void main(String args[]){ LinkedList ll=new LinkedList(); ll.add('Ravi'); ll.add('Vijay'); ll.add('Ajay'); //Traversing the list of elements in reverse order Iterator i=ll.descendingIterator(); while(i.hasNext()) { System.out.println(i.next()); } } }
Output: Ajay Vijay Ravi
Приклад Java LinkedList: книга
import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class LinkedListExample { public static void main(String[] args) { //Creating list of Books List list=new LinkedList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to list list.add(b1); list.add(b2); list.add(b3); //Traversing list for(Book b:list){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } }
Вихід:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6