רשימת מערך דומה למערך שניתן לשנות את גודלו. המחלקה ArrayList זמינה ב- java.util חבילה ומרחיבה את רשימה מִמְשָׁק . הוספה והסרה של אלמנט מה- ArrayList היא קלה מאוד על ידי שימוש בשיטות המובנות שלו לְהוֹסִיף() ו לְהַסִיר() . עם זאת, יש יותר מדרך אחת להסרת רכיב מה-ArrayList שהם כדלקמן:
ספירת sql מובחנת
- שימוש בשיטת ArrayList.remove()
- לפי אינדקס.
- לפי אלמנט
- שימוש בשיטת Iterator.remove()
- שימוש בשיטת ArrayList.removeIf()
כל שלוש הדרכים הללו הן הטובות ביותר בפני עצמן, וניתן להשתמש בהן בתרחיש שונה. בואו נבין את כל שלוש הדרכים הללו, אחת אחת.
שיטת ArrayList.remove().
משתמש ב לְהַסִיר() שיטת ה מחלקה ArrayList היא הדרך המהירה ביותר למחוק או להסיר את האלמנט מה-ArrayList. הוא גם מספק את שתי השיטות העמוסות יתר על המידה, כלומר, remove(int index) ו remove(Object obj) . ה remove(int index) השיטה מקבלת את האינדקס של האובייקט שיש להסיר, ואת remove(Object obj) השיטה מקבלת את האובייקט להסרה.
בואו ניקח דוגמה כדי להבין איך לְהַסִיר() נעשה שימוש בשיטה.
RemoveMethod.java
import java.util.ArrayList; public class RemoveMethod { public static void main(String[] args) { // creating an ArrayList having default size 5 ArrayList arr = new ArrayList(5); // Adding elements to the ArrayList arr.add('Helen'); arr.add('Paul'); arr.add('Elanie'); arr.add('Marco'); System.out.println('The list of the size is: ' + arr.size()); // Showing all the elements in the ArrayList for (String name : arr) { System.out.println('Name is: ' + name); } // Removing element available at position 1 arr.remove(1); System.out.println(' After removing the element the size of the ArrayList is: ' + arr.size()); // Showing all the elements in the ArrayList for (String name : arr) { System.out.println('Name is: ' + name); } } }
תְפוּקָה:
בואו ניקח דוגמה נוספת כדי להבין כיצד לְהַסִיר() השיטה משמשת להסרת האלמנט שצוין מה- ArrayList.
RemoveElementMethod.java
עיר בארצות הברית
import java.util.ArrayList; public class RemoveElementMethod { public static void main(String[] args) { // creating an ArrayList having default size 5 ArrayList arr = new ArrayList(5); // Adding elements to the ArrayList arr.add('Helen'); arr.add('Paul'); arr.add('Elanie'); arr.add('Marco'); System.out.println('The list of the size is: ' + arr.size()); // Showing all the elements in the ArrayList for (String name : arr) { System.out.println('Name is: ' + name); } // Removing the specified element from ArrayList arr.remove('Paul'); System.out.println(' After removing the element the size of the ArrayList is: ' + arr.size()); // Showing all the elements in the ArrayList for (String name : arr) { System.out.println('Name is: ' + name); } } }
תְפוּקָה:
קוד לדוגמה של java
Iterator.remove() שיטה
ה Iterator.remove() שיטה היא דרך נוספת להסרת אלמנט מ- ArrayList. זה לא כל כך מועיל במקרה של איטרציה על אלמנטים. כאשר אנו משתמשים בשיטת remove() תוך איטרציה של האלמנטים, הוא זורק את ConcurrentModificationException . ה איטרטור class מסיר אלמנטים כראוי תוך איטרציה של ArrayList.
בואו ניקח דוגמה כדי להבין כיצד נעשה שימוש בשיטת Iterator.remove() .
IteratorRemoveMethod.java
import java.util.ArrayList; import java.util.Iterator; public class iteratorRemoveMethod { public static void main(String[] args) { // creating an ArrayList having default size 10 ArrayList numbers = new ArrayList(10); // Adding elements to the ArrayList numbers.add(12); numbers.add(1); numbers.add(8); numbers.add(5); numbers.add(9); System.out.println('The list of the size is: ' + numbers.size()); // Showing all the elements in the ArrayList for (Integer number : numbers) { System.out.println('Number is: ' + number); } // Removing elements greater than 10 using remove() method Iterator itr = numbers.iterator(); while (itr.hasNext()) { int data = (Integer)itr.next(); if (data > 10) itr.remove(); } System.out.println(' After removing the element the size of the ArrayList is: ' + numbers.size()); // Showing all the elements in the ArrayList for (Integer number : numbers) { System.out.println('Number is: ' + number); } } }
תְפוּקָה:
שיטת ArrayList.removeIf()
אם ברצוננו להסיר אלמנט מה-ArrayList שעומד בפילטר הפרדיקטים, ה- removeIf() השיטה המתאימה ביותר למקרה זה. אנו מעבירים את מסנן הפרדיקטים לשיטה זו כארגומנט.
בואו ניקח דוגמה כדי להבין איך removeIf() נעשה שימוש בשיטה.
js base64 פענוח
RemoveIfMethod.java
import java.util.ArrayList; public class RemoveIfMethod { public static void main(String[] args) { // creating an ArrayList having default size 10 ArrayList cities = new ArrayList(10); // Adding elements to the ArrayList cities.add('Berlin'); cities.add('Bilbao'); cities.add('Cape Town'); cities.add('Nazilli'); cities.add('Uribia'); cities.add('Gliwice'); System.out.println('The list of the size is: ' + cities.size()); // Showing all the elements in the ArrayList for (String city : cities) { System.out.println('City is: ' + city); } // Removing elements which are start with B using removeIf() method cities.removeIf(n -> (n.charAt(0) == 'B')); System.out.println(' After removing the element the size of the ArrayList is: ' + cities.size()); // Showing all the elements in the ArrayList for (String city : cities) { System.out.println('City is: ' + city); } } }
תְפוּקָה:
כל השיטות שנדונו לעיל משמשות לתרחישים שונים. שימוש בשיטת ArrayList.remove() הוא הדרך המהירה ביותר להסרת אלמנט מה-ArrayList.