logo

Java LinkedList клас

Йерархия на класовете на Java LinkedList

Класът Java LinkedList използва двойно свързан списък за съхраняване на елементите. Той предоставя структура от данни със свързан списък. Той наследява класа AbstractList и имплементира List и Deque интерфейси.

Важните точки за Java LinkedList са:

  • Класът Java LinkedList може да съдържа дублиращи се елементи.
  • Класът Java LinkedList поддържа реда на вмъкване.
  • Класът Java LinkedList не е синхронизиран.
  • В класа на Java LinkedList манипулирането е бързо, защото не е необходимо да се извършва преместване.
  • Класът Java LinkedList може да се използва като списък, стек или опашка.

Йерархия на клас LinkedList

Както е показано на диаграмата по-горе, класът Java LinkedList разширява класа AbstractSequentialList и имплементира интерфейси List и Deque.

пример за списък в java

Двойно свързан списък

В случай на двойно свързан списък, можем да добавяме или премахваме елементи от двете страни.

клас java LinkedList, използващ двойно свързан списък

Декларация на клас 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 индекс, E елемент) Използва се за вмъкване на посочения елемент в определен индекс на позиция в списък.
булево addAll(Колекция c) Използва се за добавяне на всички елементи в посочената колекция в края на този списък в реда, в който са върнати от итератора на посочената колекция.
булево addAll(Колекция c) Използва се за добавяне на всички елементи в посочената колекция в края на този списък в реда, в който са върнати от итератора на посочената колекция.
boolean addAll(int index, Collection c) Използва се за добавяне на всички елементи в посочената колекция, започвайки от посочената позиция в списъка.
void addFirst(E e) Използва се за вмъкване на даден елемент в началото на списък.
void addLast(E e) Използва се за добавяне на даден елемент в края на списък.
void clear() Използва се за премахване на всички елементи от списък.
Клониране на обект () Използва се за връщане на плитко копие на ArrayList.
boolean съдържа (обект o) Използва се за връщане на true, ако списъкът съдържа определен елемент.
Итератор descendingIterator() Използва се за връщане на итератор върху елементите в deque в обратен последователен ред.
Е елемент () Използва се за извличане на първия елемент от списък.
E get(int индекс) Използва се за връщане на елемента на посочената позиция в списък.
E getFirst() Използва се за връщане на първия елемент в списък.
E getLast() Използва се за връщане на последния елемент в списък.
int indexOf(Object o) Използва се за връщане на индекса в списък на първото срещане на посочения елемент или -1, ако списъкът не съдържа никакъв елемент.
int lastIndexOf(Object o) Използва се за връщане на индекса в списък на последното срещане на посочения елемент или -1, ако списъкът не съдържа никакъв елемент.
ListIterator listIterator(int индекс) Използва се за връщане на списък-итератор на елементите в правилна последователност, започвайки от посочената позиция в списъка.
булева оферта (E e) Той добавя посочения елемент като последен елемент от списък.
булева офертаFirst(E e) Той вмъква посочения елемент в началото на списък.
булева оферта Последна (E e) Той вмъква посочения елемент в края на списък.
E peek() Той извлича първия елемент от списък
E peekFirst() Той извлича първия елемент от списък или връща null, ако списъкът е празен.
E peekLast() Той извлича последния елемент от списък или връща null, ако списъкът е празен.
E анкета() Той извлича и премахва първия елемент от списък.
E pollFirst() Той извлича и премахва първия елемент от списък или връща null, ако списъкът е празен.
E pollLast() Той извлича и премахва последния елемент от списък или връща null, ако списъкът е празен.
И поп() Той изважда елемент от стека, представен от списък.
празен тласък (E e) Той избутва елемент в стека, представен от списък.
E премахнете() Използва се за извличане и премахване на първия елемент от списък.
E премахване (int индекс) Използва се за премахване на елемент на посочената позиция в списък.
булево премахване (обект o) Използва се за премахване на първото срещане на посочения елемент в списък.
E removeFirst() Той премахва и връща първия елемент от списък.
boolean removeFirstOccurrence(Object o) Използва се за премахване на първото появяване на посочения елемент в списък (при обхождане на списъка от главата до опашката).
E removeLast() Той премахва и връща последния елемент от списък.
boolean removeLastOccurrence(Object o) Той премахва последното срещане на посочения елемент в списък (при обхождане на списъка от главата до опашката).
E набор (int индекс, E елемент) Той замества елемента на посочената позиция в списък с посочения елемент.
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 за премахване на елементи

Тук виждаме различни начини за премахване на елемент.

stdin в c
 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