retainAll()
با «حفظ آیتم های مجاز» می گویی فقط اعضای موردنظر بمانند. «کالکشن (Collection)» یعنی یک مجموعه از آیتم ها. مثل فهرست دانش آموزان مجاز برای اردو؛ فقط همان ها باید بمانند.
تعریف و کاربرد
متد retainAll() همه آیتم هایی که در «کالکشن مجاز» نیستند را حذف می کند. در پایان، فقط اعضای مشترک باقی می مانند.
سینتکس
public boolean retainAll(Collection items)
مثال: فقط ماشین های مجاز بمانند
اینجا فقط آیتم های موجود در لیست valid باقی می مانند. بقیه حذف می شوند.
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
cars.add("Toyota");
ArrayList<String> valid = new ArrayList<String>();
valid.add("Volvo");
valid.add("Ford");
valid.add("Mazda");
cars.retainAll(valid);
System.out.println(cars);
}
}
گام های عملی سریع
- لیست اصلی را بساز و پر کن.
- لیست «مجوزدارها» را آماده کن.
retainAllرا صدا بزن و نتیجه را ببین.
نکته: اگر items تهی باشد، همه حذف می شوند. مراقب باش!
هشدار: اگر items مقدار null باشد، خطای NullPointerException رخ می دهد.
مطالعه بیشتر و لینک ها
- حذف گروهی با removeAll — مقایسه با حفظ آیتم های مجاز.
- حذف شرطی با removeIf — وقتی شرط لازم داری.
- مرجع retainAll() — توضیح رسمی و مثال ها.
- آموزش ArrayList — مروری بر عملیات مهم.
جمع بندی سریع
retainAll()فقط اعضای مشترک را نگه می دارد.- لیست مجازها را دقیق بساز.
- تهی یعنی حذف همه.
nullخطا می دهد؛ قبلش بررسی کن.