sort()
با متد «sort()» می توانیم «مرتب سازی لیست» را انجام دهیم. «لیست (List)» مجموعه ای مرتب از آیتم هاست. بنابراین مثل رتبه بندی نمرات کلاس عمل می کند.
تعریف و کاربرد sort()
متد sort() آیتم ها را مرتب می کند. «مقایسه گر (Comparator)» ترتیب دو آیتم را تعیین می کند. همچنین «لامبدا (Lambda)» یک تابع کوتاه برای نوشتن مقایسه گر است.
سینتکس
public void sort(Comparator compare)
مثال: مرتب سازی طبیعی
اگر null بدهیم، مرتب سازی براساس نوع داده انجام می شود.
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.sort(null);
System.out.println(cars);
}
}
مثال: مرتب سازی معکوس با لامبدا
با مقایسه گر دلخواه می توانیم ترتیب را برعکس کنیم.
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.sort((a, b) -> {
return -1 * a.compareTo(b);
});
System.out.println(cars);
}
}
گام های عملی سریع
- یک
ArrayListبساز و آیتم ها را اضافه کن. - برای ترتیب پیش فرض،
list.sort(null)را اجرا کن. - برای ترتیب دلخواه، یک لامبدا مقایسه گر بده.
نکته: با null، رشته ها الفبایی و اعداد صعودی مرتب می شوند.
هشدار: نوع های سفارشی باید Comparable داشته باشند یا مقایسه گر بدهی.
مطالعه مرتبط
- افزودن آیتم با add() قبل از مرتب سازی.
- حذف آیتم با remove() بعد از مرتب سازی.
- مرتب سازی لیست برای مرور همین صفحه.
- مرجع sort() برای توضیح و مثال رسمی.
- آموزش ArrayList برای مرور کلی.
جمع بندی سریع
sort()لیست را مرتب می کند.nullیعنی مرتب سازی طبیعی.- لامبدا ترتیب دلخواه می دهد.
- برای نوع سفارشی، مقایسه گر لازم است.