CodeGym /مدونة جافا /Random-AR /طريقة ArrayList RemoveAll () في Java
John Squirrels
مستوى
San Francisco

طريقة ArrayList RemoveAll () في Java

نشرت في المجموعة
لا تقوم طريقة ArrayList RemoveAll() في Java بإزالة جميع العناصر من ArrayList المناسبة ، كما قد يوحي اسمها. إذا كنت بحاجة إلى هذه العملية، فاستخدم طريقة ArrayList Clear() . على عكس Clear() ‎، يقوم التابع RemoveAll() بإزالة كافة العناصر من قائمة معينة موجودة في مجموعة أخرى.

بناء الجملة والإعلان الخاص بـ RemoveAll()

هنا هو بناء جملة الطريقة:
boolean removeAll(Collection<?> c)
حيث c عبارة عن مجموعة تحتوي على عناصر يجب إزالتها من هذه القائمة. ترجع هذه الطريقة صحيحًا إذا تغيرت هذه القائمة نتيجة المكالمة. كما يمكن أن تطرح استثناءات: ClassCastException - إذا كانت فئة عنصر في هذه القائمة غير متوافقة مع المجموعة المحددة NullPointerException - إذا كانت القائمة تحتوي على عنصر فارغ والمجموعة المحددة لا تسمح بالعناصر الخالية، أو إذا كانت المجموعة المحددة فارغة

مثال على رمز إزالة الكل ().

لنفترض أن لديك قائمة أصدقاء على شبكتك الاجتماعية. حسنًا، هذا هو الشيء المعتاد في الوقت الحالي. لنفترض أيضًا أنك شخص دقيق، وأدخل جميع الأشخاص الذين لا يرغبون في سوء حظك في قائمة أعداء خاصة، بغض النظر عما إذا كان أعداؤك من بين أصدقائك على شبكة التواصل الاجتماعي أم لا. لقد قررت مسح قائمة الأصدقاء الخاصة بك من جميع الأشخاص الذين يرغبون في سوء المعاملة. ستساعد طريقة RemoveAll() بالتأكيد في هذا :
import java.util.ArrayList;
import java.util.List;

public class RemoveAll2Example {

       public static void main(String[] args) {


           List<String> friendList = new ArrayList<String>();

           // use add() method to add friends into your friend list
           friendList.add("Alex");
           friendList.add("Ivy");
           friendList.add("Victor");
           friendList.add("Peter");
           friendList.add("Lenny");
           friendList.add("Olly");
           friendList.add("Stu");
           friendList.add("Scott");
           friendList.add("Olivia");

           System.out.println("My old friend list: "+ friendList);

           //create and add elements to foe list
           List<String> foeList = new ArrayList<String>();

           foeList.add("Ben");
           foeList.add("Scott");
           foeList.add("Chuck");
           foeList.add("Olly");
           foeList.add("Sam");
           System.out.println("All my enemies: "+ foeList);

           //remove all foeList elements from friendList list if they exist
           friendList.removeAll(foeList);
           System.out.println("new friend List without foes: "+ friendList);
       }
   }
الإخراج هو:
قائمة أصدقائي القدامى: [أليكس، آيفي، فيكتور، بيتر، ليني، أولي، ستو، سكوت، أوليفيا] جميع أعدائي: [بن، سكوت، تشاك، أولي، سام] قائمة الأصدقاء الجدد بدون أعداء: [أليكس، آيفي، فيكتور، بيتر، ليني، ستو، أوليفيا]
كما ترون، الطريقة حذفت أعدائك أولي وسكوت. لم يكن لديك أعداء بن وتشاك وسام في قائمة أصدقائك. ربما لاحظت أنه وفقًا لإعلان طريقة RemoveAll()، يمكنك حذف القيم من قائمتك ليس فقط من قائمة أخرى، ولكن من مجموعة عشوائية. دعونا نحصل على مثال مع HashMap . في هذه الحالة تحتاج إلى الإشارة بوضوح إلى أنك تريد إزالة تلك السجلات التي تتطابق، على سبيل المثال، مع القيم (removeAll (collection.values()) أو المفاتيح (removeAll (collection.keySet()) ) . لنتخيل أن لدينا HashMap بأسماء جميع الفتيات بين أصدقائنا، ونحتاج إلى ترك الأولاد فقط في قائمة الأصدقاء (لا أعرف لماذا قد تكون هناك حاجة لذلك، لكنك لا تعرف أبدًا). ​​دعنا نعود إلى مثالنا مع الصديق القديم القائمة، قم بإنشاء HasMap للفتيات وقم بإزالة جميع الفتيات من قائمة الأصدقاء المكتوبة أسماؤهن في قيم HashMap الخاصة بنا .
import java.util.*;

public class RemoveAll2Example {

       public static void main(String[] args) {

          // create an empty array list and full it up using Java 9 Factory Methods  in one line
List<String> friendList= new ArrayList<>(List.of("Alex", "Ivy", "Victor", "Peter", "Lenny", "Olly", "Stu", "Scott", "Olivia"));

           System.out.println("My old friend list: "+ friendList);

           // Creating hashMap with girls keys and names also using using Java 9 Factory Methods
           Map<Integer, String> girls = new HashMap<>(Map.of(1, "Olly", 2, "Olivia", 3, "Loe", 4, "Ivy"));
           friendList.removeAll(girls.values());
           System.out.println("boys only friendList: " + friendList);
       }
   }
هنا هو الإخراج:
قائمة أصدقائي القدامى: [أليكس، آيفي، فيكتور، بيتر، ليني، أولي، ستو، سكوت، أوليفيا] قائمة الأصدقاء الوحيدين للأولاد: [أليكس، فيكتور، بيتر، ليني، ستو، سكوت]

بعض الحالات الخاصة

في بداية هذه المقالة كتبت أنه لإزالة جميع قيمها من القائمة، تحتاج إلى استخدام طريقة ArrayList Clear() . إنه كذلك، لكن بالطبع يمكنك أيضًا استخدام طريقة RemoveAll() ‎ لهذا الغرض. ربما تكون قد خمنت بالفعل كيفية القيام بذلك:
myList.RemoveAll (myList);
دعونا نعطي مثالا. في نوبة الاعتلال الاجتماعي، دعونا نفرغ قائمة الأصدقاء لدينا بالكامل:
import java.util.*;

public class RemoveAll2Example {

       public static void main(String[] args) {

           // create an empty array list and full it up using  Java 9 Factory Methods  in one line
           List<String> friendList= new ArrayList<>(List.of("Alex", "Ivy", "Victor", "Peter", "Lenny", "Olly", "Stu", "Scott", "Olivia"));
           System.out.println("My old friend list: "+ friendList);

           friendList.removeAll(friendList);
           System.out.println("my new empty friendlist...:" + friendList);
       }
   }
هنا هو الإخراج:
قائمة الأصدقاء للأولاد فقط: [أليكس، فيكتور، بيتر، ليني، ستو، سكوت] قائمة الأصدقاء الفارغة الجديدة...:[]
على الأقل دعونا نحاول إزالة عناصر المجموعة الخالية من ArrayList الخاصة بنا :
import java.util.*;

public class RemoveAll2Example {

       public static void main(String[] args) {

           List<String> friendList = new ArrayList<>(List.of("Alex", "Ivy", "Victor", "Peter", "Lenny", "Olly", "Stu", "Scott", "Olivia"));
           System.out.println("My old friend list: "+ friendList);

           // we are happy not to have foes
           List<String> foeList = null;

           //trying to remove all foeList elements from friendList list
            friendList.removeAll(foeList);
            System.out.println("my new friendlist:" + friendList);
       }
   }
وفقًا لتعريف طريقة RemoveAll() لدينا استثناء في الإخراج:
قائمة أصدقائي القدامى: [Alex, Ivy, Victor, Peter, Lenny, Olly, Stu, Scott, Olivia] استثناء في سلسلة الرسائل "الرئيسية" java.lang.NullPointerException

المزيد من القراءة:

تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION