مرتب سازی لیست (List Sorting)
اینجا درباره «مرتب سازی لیست» حرف می زنیم. «مرتب سازی (Sorting)» یعنی چیدن منظم. مثلاً اسم ها را الفبایی می چینیم. در جاوا، کلاس Collections متد sort() را می دهد. همچنین با reverseOrder() ترتیب را برعکس می کنیم. مثل چیدن دفترهای کلاس، از الف تا ی.
مرتب سازی صعودی آرِیلیستِ رشته ای
import java.util.ArrayList;
import java.util.Collections;
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");
Collections.sort(cars);
for (String i : cars) {
System.out.println(i);
}
}
}
مرتب سازی صعودی آرِیلیستِ عددی
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(33);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(34);
myNumbers.add(8);
myNumbers.add(12);
Collections.sort(myNumbers);
for (int i : myNumbers) {
System.out.println(i);
}
}
}
مرتب سازی نزولی رشته ای با reverseOrder
import java.util.ArrayList;
import java.util.Collections;
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");
Collections.sort(cars, Collections.reverseOrder());
for (String i : cars) {
System.out.println(i);
}
}
}
مرتب سازی نزولی عددی با reverseOrder
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(33);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(34);
myNumbers.add(8);
myNumbers.add(12);
Collections.sort(myNumbers, Collections.reverseOrder());
for (int i : myNumbers) {
System.out.println(i);
}
}
}
سه گام تمرین سریع
- یک لیست بساز و چند مقدار اضافه کن.
- با sort() لیست را صعودی کن.
- با reverseOrder() ترتیب را برعکس کن.
نکته: اگر ترتیب افزودن مهم است، از آرِیلیست (ArrayList) استفاده کن. اگر درج و حذف زیاد داری، لینکدلیست (LinkedList) راحت تر است.
برای تمرین بیشترِ مرتب سازی لیست سراغ مثال های آرِیلیست برو.
جمع بندی سریع
- Collections.sort() مرتب سازی پایه را انجام می دهد.
- reverseOrder() ترتیب را برعکس می کند.
- رشته ها الفبایی، اعداد عددی مرتب می شوند.
- لیست منظم تر، کد خواناتر می شود.