ArrayList ב-Java
ArrayList ב-Java הוא א ניתן לשנות את הגודל (או דינמי) מערך מה- חבילת java.util שיכול לגדול או להתכווץ באופן אוטומטי עם הוספה או הסרה של אלמנטים בניגוד למערכים רגילים עם גודל קבוע.
- גישה באינדקס: ניתן לגשת לאלמנטים באמצעות האינדקס שלהם בדיוק כמו מערכים.
- מאפשר כפילויות: מותרים רכיבים כפולים.
- שומר על סדר הכנסה: אלמנטים מאוחסנים לפי סדר הכנסתם.
- לא מסונכרן: כברירת מחדל, ArrayList אינו בטוח בשרשור (יש צורך בסנכרון ידני לגישה במקביל).
import java.util.ArrayList ; class Main { public static void main ( String [] args ) { // Creating an ArrayList ArrayList < Integer > a = new ArrayList < Integer > (); // Adding Element in ArrayList a . add ( 1 ); a . add ( 2 ); a . add ( 3 ); // Printing ArrayList System . out . println ( a ); } }
תְפוּקָה
[1 2 3]
היררכיה של ArrayList
זה מיישם ממשק רשימה שהוא ממשק משנה של ממשק אוסף .
בוני ArrayList ב-Java
Java מספקת בנאים מרובים ליצירת ArrayList על בסיס דרישות שונות:
1. ArrayList()
יוצר ArrayList ריק עם קיבולת התחלתית של ברירת מחדל.
ArrayList
arr = New ArrayList <>();
2. ArrayList arr = New ArrayList <>()
יוצר ArrayList מאותחל עם אלמנטים מהאוסף שצוין.
ArrayList
arr = New ArrayList <>(גְבִיָה);
3. ArrayList(int initialCapacity)
בנאי זה משמש לבניית רשימת מערך עם הקיבולת הראשונית שצוינה.
ArrayList
arr = New ArrayList <>(20);
פעולות של ArrayList
כעת באמצעות הבנאים יש לנו ArrayList לפעולות נוספות כמו InsertionDeletion ועדכון של האלמנטים ב- ArrayList.
Java import java.util.* ; class GFG { public static void main ( String args [] ){ // Creating an Array of string type ArrayList < String > al = new ArrayList <> (); // 1. Adding elements to ArrayList at the end al . add ( 'Geeks' ); al . add ( 'Geeks' ); System . out . println ( 'Original List : ' + al ); // Adding Elements at the specific index al . add ( 1 'For' ); System . out . println ( 'After Adding element at index 1 : ' + al ); // 2. Removing Element using index al . remove ( 0 ); System . out . println ( 'Element removed from index 0 : ' + al ); // Removing Element using the value al . remove ( 'Geeks' ); System . out . println ( 'Element Geeks removed : ' + al ); // 3. Updating value at index 0 al . set ( 0 'GFG' ); System . out . println ( 'List after updation of value : ' + al ); } }
תְפוּקָה
Original List : [Geeks Geeks] After Adding element at index 1 : [Geeks For Geeks] Element removed from index 0 : [For Geeks] Element Geeks removed : [For] List after updation of value : [GFG]
המורכבות של Java ArrayList
| מִבצָע | מורכבות זמן | מורכבות החלל |
|---|---|---|
| הוספת אלמנט ב-ArrayList | O(1) | עַל) |
| הסרת אלמנט מ-ArrayList | עַל) | O(1) |
| מעבר אלמנטים ב-ArrayList | עַל) | עַל) |
| החלפת אלמנטים ב-ArrayList | O(1) | O(1) |
שיטות Java ArrayList
| שִׁיטָה | תֵאוּר |
|---|---|
| add(int index Object element) | שיטה זו משמשת להכנסת אלמנט מסוים באינדקס מיקום ספציפי ברשימה. |
| add(Object o) | שיטה זו משמשת להוספת אלמנט מסוים לסוף רשימה. |
| addAll(אוסף C) | שיטה זו משמשת לצרף את כל האלמנטים מאוסף ספציפי לסוף הרשימה המוזכרת בסדר כזה שהערכים יוחזרו על ידי האיטרטור של האוסף שצוין. |
| addAll(int index Collection C) | משמש להכנסת כל האלמנטים החל מהמיקום שצוין מאוסף ספציפי לרשימה המוזכרת. |
| בָּרוּר() | שיטה זו משמשת להסרת כל הרכיבים מכל רשימה. |
| clone() | שיטה זו משמשת להחזרת עותק רדוד של ArrayList ב-Java. |
| מכיל (Object o) | מחזירה true אם רשימה זו מכילה את האלמנט שצוין. |
| sureCapacity(int minCapacity) | מגדיל את הקיבולת של מופע ArrayList זה במידת הצורך כדי להבטיח שהוא יכול להחזיק לפחות את מספר האלמנטים שצוין על ידי ארגומנט הקיבולת המינימלית. |
| forEach(Consumer super E>פְּעוּלָה) | מבצע את הפעולה הנתונה עבור כל רכיב של ה-Iterable עד שכל הרכיבים עברו עיבוד או שהפעולה זורקת חריגה. |
| get(int index) | מחזירה את הרכיב במיקום שצוין ברשימה זו. |
| indexOf(Object O) | האינדקס של המופע הראשון של אלמנט ספציפי מוחזר או -1 במקרה שהאלמנט אינו ברשימה. |
| isEmpty() | מחזירה true אם רשימה זו אינה מכילה אלמנטים. |
| lastIndexOf(Object O) | האינדקס של המופע האחרון של אלמנט ספציפי מוחזר או -1 במקרה שהאלמנט אינו ברשימה. |
| listIterator() | מחזירה איטרטור רשימה מעל האלמנטים ברשימה זו (ברצף הנכון). |
| listIterator(int index) | מחזירה איטרטור רשימה מעל האלמנטים ברשימה זו (ברצף המתאים) החל מהמיקום שצוין ברשימה. |
| remove(int index) | מסיר את הרכיב במיקום שצוין ברשימה זו. |
| remove(Object o) | מסיר את המופע הראשון של הרכיב שצוין מרשימה זו אם הוא קיים. |
| removeAll(אוסף ג) | מסיר מרשימה זו את כל הרכיבים שלה הכלולים באוסף שצוין. |
| removeIf(מסנן פרדיקט) | מסיר את כל המרכיבים של אוסף זה שעומדים בבסיס הנתון. |
| removeRange(int fromIndex int toIndex) | מסיר מרשימה זו את כל האלמנטים שהאינדקס שלהם הוא בין מ-Index כולל ל-Index בלעדי. |
| retainAll(אוסף >ג) | שומר רק על הרכיבים ברשימה זו הכלולים באוסף שצוין. |
| set(int index E element) | מחליף את האלמנט במיקום שצוין ברשימה זו באלמנט שצוין. |
| גוֹדֶל() | מחזירה את מספר האלמנטים ברשימה זו. |
| מפצל() | יוצר Spliterator מחייב מאוחר ומהיר כישלון מעל האלמנטים ברשימה זו. |
| subList(int fromIndex int toIndex) | מחזירה תצוגה של החלק ברשימה הזו בין ה-from-Index כלול ו-toIndex בלעדי. |
| toArray() | שיטה זו משמשת להחזרת מערך המכיל את כל האלמנטים ברשימה בסדר הנכון. |
| toArray(Object[] O) | הוא משמש גם להחזרת מערך המכיל את כל האלמנטים ברשימה זו בסדר הנכון כמו השיטה הקודמת. |
| trimToSize() | שיטה זו משמשת כדי לקצץ את הקיבולת של המופע של ArrayList לגודל הנוכחי של הרשימה. |