java怎么对集合中的元素进行排序

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!