CodeGym /جاوا بلاگ /Random-UR /جاوا میں ArrayList removeAll() طریقہ
John Squirrels
سطح
San Francisco

جاوا میں ArrayList removeAll() طریقہ

گروپ میں شائع ہوا۔
جاوا میں ArrayList removeAll() طریقہ تمام عناصر کو مناسب ArrayList سے نہیں ہٹاتا ہے ، جیسا کہ اس کا نام تجویز کر سکتا ہے۔ اگر آپ کو اس آپریشن کی ضرورت ہے تو، ArrayList clear() طریقہ استعمال کریں۔ clear() کے برعکس ، removeAll() طریقہ دی گئی فہرست سے تمام آئٹمز کو ہٹا دیتا ہے جو کسی دوسرے مجموعہ میں موجود ہیں۔

removeAll() نحو اور اعلان

یہاں طریقہ نحو ہے:
boolean removeAll(Collection<?> c)
جہاں c ایک مجموعہ ہے جس میں اس فہرست سے ہٹائے جانے والے عناصر شامل ہیں۔ اگر یہ فہرست کال کے نتیجے میں تبدیل ہو جائے تو یہ طریقہ درست ہو جاتا ہے۔ نیز یہ مستثنیات کو بھی پھینک سکتا ہے: ClassCastException — اگر اس فہرست کے کسی عنصر کی کلاس مخصوص مجموعہ NullPointerException سے مطابقت نہیں رکھتی ہے — اگر فہرست میں ایک کالعدم عنصر ہے اور مخصوص مجموعہ کالعدم عناصر کی اجازت نہیں دیتا ہے، یا اگر مخصوص مجموعہ کالعدم ہے

removeAll() کوڈ کی مثال

مان لیں کہ آپ کے سوشل نیٹ ورک پر آپ کی فرینڈ لسٹ ہے۔ ٹھیک ہے، یہ فی الحال معمول کی بات ہے۔ اس کے علاوہ، چلیں کہ آپ ایک محتاط ہیں، اور اپنے تمام بدخواہوں کو ایک خصوصی دشمن کی فہرست میں شامل کریں، قطع نظر اس کے کہ آپ کے دشمن آپ کے سوشل نیٹ ورک کے دوستوں میں شامل ہیں یا نہیں۔ آپ نے اپنے تمام بدخواہوں کی فرینڈ لسٹ صاف کرنے کا فیصلہ کیا ہے۔ 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()) کے ساتھ ۔ آئیے تصور کریں کہ ہمارے پاس ایک ہے۔ ہمارے دوستوں میں سے تمام لڑکیوں کے ناموں کے ساتھ ہیش میپ ، اور ہمیں فرینڈ لسٹ میں صرف لڑکوں کو چھوڑنے کی ضرورت ہے (مجھے نہیں معلوم کہ اس کی ضرورت کیوں ہو سکتی ہے، لیکن آپ کو کبھی معلوم نہیں)۔ آئیے پرانے دوست کے ساتھ اپنی مثال پر واپس جائیں۔ فہرست بنائیں، لڑکیوں کا 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 سے null-collection عناصر کو ہٹانے کی کوشش کریں :
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() طریقہ کی تعریف کے مطابق ہمیں آؤٹ پٹ میں ایک رعایت ملی ہے۔
میری پرانی دوستوں کی فہرست: [ایلیکس، آئیوی، وکٹر، پیٹر، لینی، اولی، اسٹو، اسکاٹ، اولیویا] تھریڈ "مین" java.lang.NullPointerException میں استثناء
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION