阅读量:2
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
)来对集合中的元素进行排序,不需要修改元素类的定义。