ArrayList ב-Java

ArrayList ב-Java

ArrayList ב-Java הוא א ניתן לשנות את הגודל (או דינמי) מערך מה- חבילת java.util שיכול לגדול או להתכווץ באופן אוטומטי עם הוספה או הסרה של אלמנטים בניגוד למערכים רגילים עם גודל קבוע.

  • גישה באינדקס: ניתן לגשת לאלמנטים באמצעות האינדקס שלהם בדיוק כמו מערכים.
  • מאפשר כפילויות: מותרים רכיבים כפולים.
  • שומר על סדר הכנסה: אלמנטים מאוחסנים לפי סדר הכנסתם.
  • לא מסונכרן: כברירת מחדל, ArrayList אינו בטוח בשרשור (יש צורך בסנכרון ידני לגישה במקביל).
Java
   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-768

בוני 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 פְּעוּלָה) מבצע את הפעולה הנתונה עבור כל רכיב של ה-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 לגודל הנוכחי של הרשימה.