logo

Јава ЛинкедЛист класа

Јава ЛинкедЛист хијерархија класа

Јава ЛинкедЛист класа користи двоструко повезану листу за складиштење елемената. Пружа структуру података повезане листе. Он наслеђује класу АбстрацтЛист и имплементира интерфејсе Лист и Декуе.

Важне тачке у вези са Јава ЛинкедЛист су:

  • Јава ЛинкедЛист класа може да садржи дуплиране елементе.
  • Јава ЛинкедЛист класа одржава редослед уметања.
  • Јава ЛинкедЛист класа није синхронизована.
  • У класи Јава ЛинкедЛист, манипулација је брза јер не треба да дође до померања.
  • Јава ЛинкедЛист класа се може користити као листа, стек или ред.

Хијерархија класе ЛинкедЛист

Као што је приказано у горњем дијаграму, Јава ЛинкедЛист класа проширује класу АбстрацтСекуентиалЛист и имплементира Лист и Декуе интерфејсе.

архитектура пролећне чизме

Двоструко повезана листа

У случају двоструко повезане листе, можемо додати или уклонити елементе са обе стране.

јава класа ЛинкедЛист која користи дупло повезану листу

Декларација класе ЛинкедЛист

Хајде да видимо декларацију за класу јава.утил.ЛинкедЛист.

мамта кулкарни
 public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable 

Конструктори Јава ЛинкедЛист

Цонструцтор Опис
ЛинкедЛист() Користи се за прављење празне листе.
ЛинкедЛист (колекција ц) Користи се за конструисање листе која садржи елементе наведене колекције, по редоследу, враћа их итератор колекције.

Методе Јава ЛинкедЛист

Метод Опис
боолеан адд(Е е) Користи се за додавање наведеног елемента на крај листе.
воид адд (инт индекс, Е елемент) Користи се за уметање наведеног елемента на наведени индекс позиције на листи.
логички аддАлл (колекција ц) Користи се за додавање свих елемената наведене колекције на крај ове листе, редоследом којим их враћа итератор наведене колекције.
логички аддАлл (колекција ц) Користи се за додавање свих елемената наведене колекције на крај ове листе, редоследом којим их враћа итератор наведене колекције.
логички аддАлл(инт индекс, колекција ц) Користи се за додавање свих елемената у наведеној колекцији, почевши од наведене позиције листе.
воид аддФирст(Е е) Користи се за уметање датог елемента на почетак листе.
воид аддЛаст(Е е) Користи се за додавање датог елемента на крај листе.
воид цлеар() Користи се за уклањање свих елемената са листе.
Објецт цлоне() Користи се за враћање плитке копије АрраиЛист-а.
логички садржи(објекат о) Користи се за враћање труе ако листа садржи одређени елемент.
Итератор десцендингИтератор() Користи се за враћање итератора преко елемената у низу обрнутим редоследом.
Е елемент() Користи се за преузимање првог елемента листе.
Е гет(инт индекс) Користи се за враћање елемента на наведеној позицији на листи.
Е гетФирст() Користи се за враћање првог елемента на листи.
Е гетЛаст() Користи се за враћање последњег елемента на листи.
инт индекОф(Објекат о) Користи се за враћање индекса на листи првог појављивања наведеног елемента, или -1 ако листа не садржи ниједан елемент.
инт ластИндекОф(Објекат о) Користи се за враћање индекса на листи последњег појављивања наведеног елемента, или -1 ако листа не садржи ниједан елемент.
ЛистИтератор листИтератор(инт индек) Користи се за враћање итератора листе елемената у правилном редоследу, почевши од наведене позиције на листи.
логичка понуда (Е е) Додаје наведени елемент као последњи елемент листе.
боолеан офферФирст(Е е) Умеће наведени елемент на почетак листе.
боолеан офферЛаст(Е е) Умеће наведени елемент на крај листе.
Е пеек() Он преузима први елемент листе
Е пеекФирст() Он преузима први елемент листе или враћа нулл ако је листа празна.
Е пеекЛаст() Он преузима последњи елемент листе или враћа нулл ако је листа празна.
Е анкета() Он преузима и уклања први елемент листе.
Е анкетаФирст() Он преузима и уклања први елемент листе, или враћа нулл ако је листа празна.
Е анкетаПоследња() Он преузима и уклања последњи елемент листе, или враћа нулл ако је листа празна.
и поп() Избацује елемент из стека представљеног листом.
воид пусх (Е е) Он гура елемент у стек представљен листом.
Е уклони() Користи се за преузимање и уклањање првог елемента листе.
Е уклони (инт индекс) Користи се за уклањање елемента на наведеној позицији на листи.
логички уклони (објекат о) Користи се за уклањање првог појављивања наведеног елемента на листи.
Е ремовеФирст() Уклања и враћа први елемент са листе.
боолеан ремовеФирстОццурренце(Објецт о) Користи се за уклањање првог појављивања наведеног елемента на листи (приликом преласка листе од главе до репа).
Е ремовеЛаст() Уклања и враћа последњи елемент са листе.
боолеан ремовеЛастОццурренце(Објецт о) Уклања последње појављивање наведеног елемента на листи (приликом преласка листе од главе до репа).
Е скуп (инт индекс, Е елемент) Он замењује елемент на наведеној позицији на листи наведеним елементом.
Објецт[] тоАрраи() Користи се за враћање низа који садржи све елементе на листи у правилном редоследу (од првог до последњег елемента).
Т[] у низ(Т[] а) Враћа низ који садржи све елементе у одговарајућем низу (од првог до последњег елемента); тип времена извршавања враћеног низа је онај из наведеног низа.
инт сизе() Користи се за враћање броја елемената у листи.

Јава ЛинкедЛист Пример

 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 

Јава ЛинкедЛист пример за додавање елемената

Овде видимо различите начине додавања елемената.

 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] 

Јава ЛинкедЛист пример за уклањање елемената

Овде видимо различите начине за уклањање елемента.

 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: [] 

Јава ЛинкедЛист Пример за преокретање листе елемената

 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 

Јава ЛинкедЛист Пример: књига

 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