רשימה ב-Java מספק את המתקן לתחזק את איסוף הזמין . הוא מכיל את השיטות המבוססות על אינדקס להוספה, עדכון, מחיקה וחיפוש באלמנטים. זה יכול לכלול גם את האלמנטים הכפולים. אנחנו יכולים גם לאחסן את הרכיבים null ברשימה.
ממשק הרשימה נמצא ב-java.utilחבילה וירשת את ממשק האוסף. זה מפעל של ממשק ListIterator. באמצעות ListIterator, אנו יכולים לחזור על הרשימה בכיוונים קדימה ואחורה. מחלקות היישום של ממשק רשימה הןרשימת מערך,רשימה מקושרת, Stack ו-Vector. ArrayList ו-LinkedList נמצאים בשימוש נרחב בתכנות Java. מחלקת Vector הוצאה משימוש מאז Java 5.
הצהרת ממשק רשימה
public interface List extends Collection
שיטות רשימת Java
שיטה | תיאור | |
---|---|---|
void add (int index, E element) | הוא משמש להוספת האלמנט שצוין במיקום שצוין ברשימה. | |
הוספה בוליאנית (E e) | הוא משמש להוספת האלמנט שצוין בסוף רשימה. | |
boolean addAll(אוסף ג) | הוא משמש להוספת כל האלמנטים באוסף שצוין לסוף רשימה. | |
boolean addAll(int index, Collection c) | הוא משמש להוספת כל האלמנטים באוסף שצוין, החל מהמיקום שצוין ברשימה. | |
void clear() | הוא משמש להסרת כל הרכיבים מרשימה זו. | |
בוליאני שווה (Object o) | הוא משמש להשוואה בין האובייקט שצוין לרכיבי רשימה. | |
int hashcode() | הוא משמש להחזרת ערך קוד ה-hash עבור רשימה. | |
E get(int index) | הוא משמש כדי להביא את האלמנט מהמיקום המסוים של הרשימה. | |
boolean is Empty() | זה מחזיר אמת אם הרשימה ריקה, אחרת false. | |
int lastIndexOf(Object o) | הוא משמש להחזרת האינדקס ברשימה זו של המופע האחרון של האלמנט שצוין, או -1 אם הרשימה אינה מכילה אלמנט זה. | |
Object[] toArray() | הוא משמש להחזרת מערך המכיל את כל האלמנטים ברשימה זו בסדר הנכון. | |
T[] toArray(T[] a) | הוא משמש להחזרת מערך המכיל את כל האלמנטים ברשימה זו בסדר הנכון. | |
בוליאני מכיל(Object o) | זה מחזיר true אם הרשימה מכילה את האלמנט שצוין | |
boolean containsAll(אוסף ג) | זה מחזיר true אם הרשימה מכילה את כל האלמנטים שצוינו | |
int indexOf(Object o) | הוא משמש להחזרת האינדקס ברשימה זו של ההופעה הראשונה של האלמנט שצוין, או -1 אם הרשימה אינה מכילה אלמנט זה. | |
E remove(int index) | הוא משמש להסרת האלמנט הקיים במיקום שצוין ברשימה. | |
הסר בוליאני (Object o) | הוא משמש להסרת המופע הראשון של האלמנט שצוין. | |
הסר הכל בוליאני (אוסף ג) | הוא משמש להסרת כל הרכיבים מהרשימה. | |
void replaceAll(אופרטור UnaryOperator) | הוא משמש להחלפת כל האלמנטים מהרשימה באלמנט שצוין. | |
void retainAll(אוסף ג) | הוא משמש לשמירה על כל הרכיבים ברשימה שנמצאים באוסף שצוין. | |
E set(int index, E element) | הוא משמש להחלפת האלמנט שצוין ברשימה, הקיים במיקום שצוין. | |
void sort(Comparator c) | הוא משמש למיון רכיבי הרשימה על בסיס המשווה שצוין. | |
מפצל מפצל() | הוא משמש ליצירת מפצל על האלמנטים ברשימה. | |
List subList(int fromIndex, int toIndex) | הוא משמש כדי להביא את כל האלמנטים שנמצאים בטווח הנתון. | |
int size() | הוא משמש להחזרת מספר האלמנטים הקיימים ברשימה. |
Java List לעומת ArrayList
רשימה היא ממשק ואילו ArrayList היא מחלקת היישום של List.
כיצד ליצור רשימה
המחלקות ArrayList ו-LinkedList מספקות יישום של ממשק List. בואו נראה את הדוגמאות ליצירת הרשימה:
//Creating a List of type String using ArrayList List list=new ArrayList(); //Creating a List of type Integer using ArrayList List list=new ArrayList(); //Creating a List of type Book using ArrayList List list=new ArrayList(); //Creating a List of type String using LinkedList List list=new LinkedList();
בקיצור, אתה יכול ליצור את הרשימה מכל סוג. המחלקות ArrayList ו-LinkedList משמשות לציון הסוג. כאן, T מציין את הסוג.
דוגמה לרשימת ג'אווה
בואו נראה דוגמה פשוטה של List שבה אנו משתמשים במחלקה ArrayList כיישום.
import java.util.*; public class ListExample1{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } }בדוק את זה עכשיו
תְפוּקָה:
Mango Apple Banana Grapes
כיצד להמיר מערך לרשימה
נוכל להמיר את המערך לרשימה על ידי מעבר המערך והוספת האלמנט ברשימה אחד אחד באמצעות שיטת list.add() . בואו נראה דוגמה פשוטה להמרת רכיבי מערך לרשימה.
import java.util.*; public class ArrayToListExample{ public static void main(String args[]){ //Creating Array String[] array={'Java','Python','PHP','C++'}; System.out.println('Printing Array: '+Arrays.toString(array)); //Converting Array to List List list=new ArrayList(); for(String lang:array){ list.add(lang); } System.out.println('Printing List: '+list); } }בדוק את זה עכשיו
תְפוּקָה:
Printing Array: [Java, Python, PHP, C++] Printing List: [Java, Python, PHP, C++]
כיצד להמיר רשימה למערך
אנו יכולים להמיר את הרשימה למערך על ידי קריאה למתודה list.toArray(). בוא נראה דוגמה פשוטה להמרת רכיבי רשימה למערך.
קוד פיבונאצי ג'אווה
import java.util.*; public class ListToArrayExample{ public static void main(String args[]){ List fruitList = new ArrayList(); fruitList.add('Mango'); fruitList.add('Banana'); fruitList.add('Apple'); fruitList.add('Strawberry'); //Converting ArrayList to Array String[] array = fruitList.toArray(new String[fruitList.size()]); System.out.println('Printing Array: '+Arrays.toString(array)); System.out.println('Printing List: '+fruitList); } }בדוק את זה עכשיו
תְפוּקָה:
Printing Array: [Mango, Banana, Apple, Strawberry] Printing List: [Mango, Banana, Apple, Strawberry]
קבל והגדר רכיב ברשימה
ה שיטת get() מחזירה את האלמנט במדד הנתון, בעוד שה- שיטת set() משנה או מחליף את האלמנט.
import java.util.*; public class ListExample2{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //accessing the element System.out.println('Returning element: '+list.get(1));//it will return the 2nd element, because index starts from 0 //changing the element list.set(1,'Dates'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } }בדוק את זה עכשיו
תְפוּקָה:
Returning element: Apple Mango Dates Banana Grapes
כיצד למיין רשימה
ישנן דרכים שונות למיין את הרשימה, כאן אנו הולכים להשתמש בשיטת Collections.sort() כדי למיין את רכיב הרשימה. ה java.util החבילה מספקת מחלקת שירות אוספים שיש לו את השיטה הסטטית sort(). משתמש ב Collections.sort() בשיטה, נוכל למיין בקלות כל רשימה.
import java.util.*; class SortArrayList{ public static void main(String args[]){ //Creating a list of fruits List list1=new ArrayList(); list1.add('Mango'); list1.add('Apple'); list1.add('Banana'); list1.add('Grapes'); //Sorting the list Collections.sort(list1); //Traversing list through the for-each loop for(String fruit:list1) System.out.println(fruit); System.out.println('Sorting numbers...'); //Creating a list of numbers List list2=new ArrayList(); list2.add(21); list2.add(11); list2.add(51); list2.add(1); //Sorting the list Collections.sort(list2); //Traversing list through the for-each loop for(Integer number:list2) System.out.println(number); } }
תְפוּקָה:
Apple Banana Grapes Mango Sorting numbers... 1 11 21 51
ממשק Java ListIterator
ממשק ListIterator משמש כדי לעבור את האלמנט בכיוון אחורה וקדימה.
פיתון סינון
הצהרת ממשק ListIterator
public interface ListIterator extends Iterator
שיטות של ממשק Java ListIterator:
שיטה | תיאור |
---|---|
void add(E e) | שיטה זו מכניסה את האלמנט שצוין לרשימה. |
boolean hasNext() | שיטה זו מחזירה אמת אם באיטרטור הרשימה יש יותר אלמנטים תוך כדי חציית הרשימה בכיוון קדימה. |
E הבא() | שיטה זו מחזירה את האלמנט הבא ברשימה ומקדמת את מיקום הסמן. |
int nextIndex() | שיטה זו מחזירה את האינדקס של האלמנט שיוחזר בקריאה עוקבת ל-next() |
boolean hasPrevious() | שיטה זו מחזירה true אם איטרטור הרשימה הזה מכיל יותר אלמנטים תוך חציית הרשימה בכיוון ההפוך. |
E הקודם() | שיטה זו מחזירה את האלמנט הקודם ברשימה ומזיזה את מיקום הסמן אחורה. |
E previousIndex() | שיטה זו מחזירה את האינדקס של האלמנט שיוחזר בקריאה עוקבת ל-(()קודם. |
void remove() | שיטה זו מסירה את האלמנט האחרון מהרשימה שהוחזרה על ידי מתודות next() או previous() |
void set (E e) | שיטה זו מחליפה את האלמנט האחרון שהוחזר על ידי מתודות next() או previous() באלמנט שצוין. |
דוגמה לממשק ListIterator
import java.util.*; public class ListIteratorExample1{ public static void main(String args[]){ List al=new ArrayList(); al.add('Amit'); al.add('Vijay'); al.add('Kumar'); al.add(1,'Sachin'); ListIterator itr=al.listIterator(); System.out.println('Traversing elements in forward direction'); while(itr.hasNext()){ System.out.println('index:'+itr.nextIndex()+' value:'+itr.next()); } System.out.println('Traversing elements in backward direction'); while(itr.hasPrevious()){ System.out.println('index:'+itr.previousIndex()+' value:'+itr.previous()); } } }
תְפוּקָה:
Traversing elements in forward direction index:0 value:Amit index:1 value:Sachin index:2 value:Vijay index:3 value:Kumar Traversing elements in backward direction index:3 value:Kumar index:2 value:Vijay index:1 value:Sachin index:0 value:Amit
דוגמה לרשימה: ספר
בואו נראה דוגמה של רשימה שבה אנחנו מוסיפים את הספרים.
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 ListExample5 { public static void main(String[] args) { //Creating list of Books List list=new ArrayList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications and 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 and Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6
נושאים קשורים
ההבדל בין ArrayList ל-LinkedList
מתי להשתמש ב-ArrayList וב-LinkedList ב-Java
ההבדל בין ArrayList לוקטור
כיצד להשוות שני ArrayList ב-Java
כיצד להפוך ArrayList ב-Java
מתי להשתמש ב-ArrayList וב-LinkedList ב-Java
כיצד להפוך את ArrayList לקריאה בלבד
"הנוסחה של הבונה"
ההבדל בין אורך המערך לבין size() של ArrayList ב-Java
כיצד לסנכרן ArrayList ב-Java
כיצד להמיר ArrayList למערך ומערך ל-ArrayList ב-java
מערך לעומת ArrayList ב-Java
כיצד למיין Java ArrayList בסדר יורד
כיצד להסיר כפילויות מ-ArrayList ב-Java