logo

فئة جافا 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 LinkedList باستخدام قائمة مرتبطة بشكل مضاعف

إعلان فئة LinkedList

دعونا نرى إعلان فئة java.util.LinkedList.

 public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable 

منشئو Java LinkedList

البناء وصف
قائمة مرتبطة () يتم استخدامه لإنشاء قائمة فارغة.
LinkedList(المجموعة ج) يتم استخدامه لإنشاء قائمة تحتوي على عناصر المجموعة المحددة، بالترتيب الذي يتم إرجاعها بواسطة مكرر المجموعة.

طرق جافا LinkedList

طريقة وصف
إضافة منطقية (E e) يتم استخدامه لإلحاق العنصر المحدد بنهاية القائمة.
إضافة باطلة (فهرس كثافة العمليات، عنصر E) يتم استخدامه لإدراج العنصر المحدد في فهرس الموضع المحدد في القائمة.
إضافة منطقية (المجموعة ج) يتم استخدامه لإلحاق جميع العناصر الموجودة في المجموعة المحددة بنهاية هذه القائمة، بالترتيب الذي يتم إرجاعها بواسطة مكرر المجموعة المحددة.
إضافة منطقية (المجموعة ج) يتم استخدامه لإلحاق جميع العناصر الموجودة في المجموعة المحددة بنهاية هذه القائمة، بالترتيب الذي يتم إرجاعها بواسطة مكرر المجموعة المحددة.
إضافة منطقية (int Index، Collection c) يتم استخدامه لإلحاق جميع العناصر في المجموعة المحددة، بدءًا من الموضع المحدد في القائمة.
addFirst باطلة (E e) يتم استخدامه لإدراج العنصر المحدد في بداية القائمة.
إضافة باطلة (E e) يتم استخدامه لإلحاق العنصر المحدد بنهاية القائمة.
باطل واضح () يتم استخدامه لإزالة جميع العناصر من القائمة.
استنساخ الكائن () يتم استخدامه لإرجاع نسخة سطحية من ArrayList.
منطقي يحتوي على (كائن س) يتم استخدامه لإرجاع صحيح إذا كانت القائمة تحتوي على عنصر محدد.
مكرر تنازلي مكرر () يتم استخدامه لإرجاع مكرر فوق العناصر الموجودة في deque بترتيب تسلسلي عكسي.
العنصر الإلكتروني () يتم استخدامه لاسترداد العنصر الأول من القائمة.
الحصول على (فهرس كثافة العمليات) يتم استخدامه لإرجاع العنصر إلى الموضع المحدد في القائمة.
الحصول على الأول () يتم استخدامه لإرجاع العنصر الأول في القائمة.
الحصول على آخر () يتم استخدامه لإرجاع العنصر الأخير في القائمة.
مؤشر كثافة العمليات (كائن س) يتم استخدامه لإرجاع الفهرس في قائمة التواجد الأول للعنصر المحدد، أو -1 إذا كانت القائمة لا تحتوي على أي عنصر.
كثافة العمليات lastIndexOf (كائن س) يتم استخدامه لإرجاع الفهرس في قائمة التواجد الأخير للعنصر المحدد، أو -1 إذا كانت القائمة لا تحتوي على أي عنصر.
ListIterator listIterator (مؤشر int) يتم استخدامه لإرجاع مكرر القائمة للعناصر بالتسلسل الصحيح، بدءًا من الموضع المحدد في القائمة.
العرض المنطقي (E e) يضيف العنصر المحدد باعتباره العنصر الأخير في القائمة.
العرض المنطقي أولاً(E e) يقوم بإدراج العنصر المحدد في مقدمة القائمة.
العرض المنطقيLast(E e) يقوم بإدراج العنصر المحدد في نهاية القائمة.
نظرة خاطفة () يقوم باسترداد العنصر الأول من القائمة
نظرة خاطفة الإلكترونية () يقوم باسترداد العنصر الأول من القائمة أو إرجاع قيمة فارغة إذا كانت القائمة فارغة.
نظرة خاطفة على آخر() يقوم باسترداد العنصر الأخير من القائمة أو يُرجع قيمة فارغة إذا كانت القائمة فارغة.
الاستطلاع الإلكتروني() يقوم باسترداد وإزالة العنصر الأول من القائمة.
الاستطلاع الإلكتروني أولاً () يقوم باسترداد وإزالة العنصر الأول من القائمة، أو إرجاع قيمة فارغة إذا كانت القائمة فارغة.
الاستطلاع الإلكترونيالأخير() يقوم باسترداد وإزالة العنصر الأخير من القائمة، أو إرجاع قيمة فارغة إذا كانت القائمة فارغة.
والبوب ​​() ينبثق عنصر من المكدس الذي تمثله القائمة.
دفع الفراغ (E ه) يقوم بدفع عنصر إلى المكدس الذي تمثله القائمة.
إزالة () يتم استخدامه لاسترداد وإزالة العنصر الأول من القائمة.
إزالة E (فهرس كثافة العمليات) يتم استخدامه لإزالة العنصر في الموضع المحدد في القائمة.
إزالة منطقية (الكائن س) يتم استخدامه لإزالة التواجد الأول للعنصر المحدد في القائمة.
إزالة الأول () يقوم بإزالة وإرجاع العنصر الأول من القائمة.
إزالة منطقيةFirstOccurrence(Object o) يتم استخدامه لإزالة التواجد الأول للعنصر المحدد في القائمة (عند اجتياز القائمة من الرأس إلى الذيل).
إزالةLast () يقوم بإزالة وإرجاع العنصر الأخير من القائمة.
إزالة منطقيةLastOccurrence(Object o) يقوم بإزالة آخر تواجد للعنصر المحدد في القائمة (عند اجتياز القائمة من الرأس إلى الذيل).
مجموعة E (فهرس كثافة العمليات، عنصر E) يقوم باستبدال العنصر الموجود في الموضع المحدد في القائمة بالعنصر المحدد.
الكائن [] إلى الصفيف () يتم استخدامه لإرجاع مصفوفة تحتوي على جميع العناصر الموجودة في القائمة بالتسلسل الصحيح (من العنصر الأول إلى العنصر الأخير).
T[] إلىصفيف(T[] أ) تقوم بإرجاع مصفوفة تحتوي على جميع العناصر بالتسلسل الصحيح (من العنصر الأول إلى العنصر الأخير)؛ نوع وقت تشغيل المصفوفة التي تم إرجاعها هو نوع المصفوفة المحددة.
حجم صحيح () يتم استخدامه لإرجاع عدد العناصر في القائمة.

مثال جافا 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 لإضافة العناصر

هنا، نرى طرقًا مختلفة لإضافة العناصر.

np.sum
 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: Book

 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