Java中可以使用Collections
類的sort()
方法對集合中的元素進行排序。sort()
方法有兩種重載形式,一種是對List
集合中的元素進行排序,另一種是對List
集合中的元素根據指定的比較器進行排序。
對List集合中的元素進行排序:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SortExample {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(3);
numbers.add(1);
numbers.add(4);
numbers.add(2);
Collections.sort(numbers);
System.out.println(numbers);
}
}
輸出結果:
[1, 2, 3, 4, 5]
對List集合中的元素根據指定的比較器進行排序:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class SortExample {
public static void main(String[] args) {
List<String> names = new ArrayList<>();
names.add("John");
names.add("Alice");
names.add("Bob");
names.add("David");
names.add("Catherine");
// 根據字符串長度進行排序
Comparator<String> lengthComparator = Comparator.comparingInt(String::length);
Collections.sort(names, lengthComparator);
System.out.println(names);
}
}
輸出結果:
[Bob, John, Alice, David, Catherine]
以上代碼演示了如何對整數和字符串進行排序,但是Java的Collections.sort()
方法只能對實現了Comparable
接口的類進行排序。如果要對自定義的類進行排序,需要讓該類實現Comparable
接口,并在compareTo()
方法中定義比較規則。另外,也可以使用比較器(Comparator
)來對集合中的元素進行排序,不需要修改元素類的定義。