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 כיצד להמיר מחרוזת ל-int

רשימה מקושרת כפולה

במקרה של רשימה מקושרת כפול, נוכל להוסיף או להסיר אלמנטים משני הצדדים.

מחלקת java LinkedList באמצעות רשימה מקושרת כפולה

הצהרת מחלקה LinkedList

בוא נראה את ההצהרה עבור מחלקה java.util.LinkedList.

איך למיין מערך ב-java
 public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable 

בונים של Java LinkedList

בַּנַאִי תיאור
רשימה מקושרת() הוא משמש לבניית רשימה ריקה.
LinkedList(אוסף ג) הוא משמש לבניית רשימה המכילה את האלמנטים של האוסף שצוין, לפי הסדר שהם מוחזרים על ידי האיטרטור של האוסף.

שיטות של Java LinkedList

שיטה תיאור
הוספה בוליאנית (E e) הוא משמש להוספת האלמנט שצוין לסוף רשימה.
void add (int index, E element) הוא משמש להוספת האלמנט שצוין באינדקס המיקום שצוין ברשימה.
boolean addAll(אוסף ג) הוא משמש לצירוף כל האלמנטים באוסף שצוין לסוף רשימה זו, בסדר שהם מוחזרים על ידי האיטרטור של האוסף שצוין.
boolean addAll(אוסף ג) הוא משמש לצירוף כל האלמנטים באוסף שצוין לסוף רשימה זו, בסדר שהם מוחזרים על ידי האיטרטור של האוסף שצוין.
boolean addAll(int index, Collection c) הוא משמש להוספת כל האלמנטים באוסף שצוין, החל מהמיקום שצוין ברשימה.
void addFirst(E e) הוא משמש להוספת האלמנט הנתון בתחילת רשימה.
void addLast(E e) הוא משמש להוספת האלמנט הנתון לסוף רשימה.
void clear() הוא משמש להסרת כל הרכיבים מרשימה.
שיבוט אובייקט() הוא משמש להחזרת עותק רדוד של ArrayList.
בוליאני מכיל(Object o) הוא משמש להחזרת true אם רשימה מכילה אלמנט מוגדר.
Iterator descendingIterator() הוא משמש להחזרת איטרטור על האלמנטים ב-deque בסדר רציף הפוך.
E element() הוא משמש כדי לאחזר את האלמנט הראשון של רשימה.
E get(int index) הוא משמש להחזרת האלמנט במיקום שצוין ברשימה.
E getFirst() הוא משמש להחזרת האלמנט הראשון ברשימה.
E getLast() הוא משמש להחזרת האלמנט האחרון ברשימה.
int indexOf(Object o) הוא משמש להחזרת האינדקס ברשימה של המופע הראשון של האלמנט שצוין, או -1 אם הרשימה אינה מכילה אלמנט כלשהו.
int lastIndexOf(Object o) הוא משמש להחזרת האינדקס ברשימה של המופע האחרון של האלמנט שצוין, או -1 אם הרשימה אינה מכילה אלמנט כלשהו.
ListIterator listIterator(int index) הוא משמש להחזרת רשימה-איטרטור של הרכיבים ברצף הנכון, החל מהמיקום שצוין ברשימה.
הצעה בוליאנית (E ה) הוא מוסיף את האלמנט שצוין כאלמנט האחרון ברשימה.
הצעה בוליאניתFirst(E e) הוא מוסיף את האלמנט שצוין בחזית הרשימה.
הצעה בולינית Last(E e) הוא מוסיף את האלמנט שצוין בסוף רשימה.
E peek() זה מאחזר את האלמנט הראשון של רשימה
E peekFirst() זה מאחזר את הרכיב הראשון של רשימה או מחזיר null אם רשימה ריקה.
E peekLast() זה מאחזר את הרכיב האחרון של רשימה או מחזיר null אם רשימה ריקה.
E poll() הוא מאחזר ומסיר את הרכיב הראשון של רשימה.
E pollFirst() הוא מאחזר ומסיר את הרכיב הראשון של רשימה, או מחזיר null אם רשימה ריקה.
E pollLast() הוא מאחזר ומסיר את הרכיב האחרון של רשימה, או מחזיר null אם רשימה ריקה.
ופופ() זה מקפיץ אלמנט מהמחסנית המיוצגת על ידי רשימה.
void push(E e) זה דוחף אלמנט לערימה המיוצגת על ידי רשימה.
E remove() הוא משמש כדי לאחזר ולהסיר את הרכיב הראשון של רשימה.
E remove(int index) הוא משמש להסרת הרכיב במיקום שצוין ברשימה.
הסר בוליאני (Object o) הוא משמש להסרת המופע הראשון של הרכיב שצוין ברשימה.
E removeFirst() הוא מסיר ומחזיר את הרכיב הראשון מרשימה.
הסר בוליאניFirstOccurrence(Object o) הוא משמש להסרת המופע הראשון של האלמנט שצוין ברשימה (בעת חציית הרשימה מראש לזנב).
E removeLast() הוא מסיר ומחזיר את הרכיב האחרון מרשימה.
הסר בוליאניLastOccurrence(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