জাভাতে 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() পদ্ধতির ঘোষণা অনুযায়ী আপনি আপনার তালিকা থেকে শুধুমাত্র অন্য তালিকা থেকে মান মুছে ফেলতে পারবেন না, কিন্তু একটি এলোমেলো সংগ্রহ থেকে। হ্যাশম্যাপের সাথে একটি উদাহরণ দেওয়া যাক । এই ক্ষেত্রে আপনাকে স্পষ্টভাবে ইঙ্গিত করতে হবে যে আপনি সেই রেকর্ডগুলি মুছে ফেলতে চান যেগুলি মেলে, উদাহরণস্বরূপ, মান (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 থেকে নাল-সংগ্রহ উপাদানগুলি সরানোর চেষ্টা করা যাক :
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] থ্রেড "main" java.lang.NullPointerException-এ ব্যতিক্রম
GO TO FULL VERSION