מחלקה 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
רשימה מקושרת כפולה
במקרה של רשימה מקושרת כפול, נוכל להוסיף או להסיר אלמנטים משני הצדדים.
הצהרת מחלקה 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