java如何对集合进行排序

avatar
作者
筋斗云
阅读量:0

在Java中,可以使用Collections.sort()方法对集合进行排序。这个方法可以对List集合进行自然排序或者根据提供的比较器进行排序。

以下是一些示例:

  1. 对List集合进行自然排序:
import java.util.ArrayList; import java.util.Collections; import java.util.List;  public class Main {     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("Sorted list: " + numbers);     } } 
  1. 对List集合根据提供的比较器进行排序:
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List;  public class Main {     public static void main(String[] args) {         List<String> words = new ArrayList<>();         words.add("apple");         words.add("banana");         words.add("cherry");         words.add("orange");          Comparator<String> stringLengthComparator = new Comparator<String>() {             @Override             public int compare(String s1, String s2) {                 return Integer.compare(s1.length(), s2.length());             }         };          Collections.sort(words, stringLengthComparator);         System.out.println("Sorted list by length: " + words);     } } 
  1. 使用Java 8的Lambda表达式简化代码:
import java.util.ArrayList; import java.util.Collections; import java.util.List;  public class Main {     public static void main(String[] args) {         List<String> words = new ArrayList<>();         words.add("apple");         words.add("banana");         words.add("cherry");         words.add("orange");          Collections.sort(words, (s1, s2) -> Integer.compare(s1.length(), s2.length()));         System.out.println("Sorted list by length: " + words);     } } 

注意:Collections.sort()方法不适用于非可修改的集合(如通过Collections.unmodifiableList()创建的集合)。在这种情况下,可以使用stream().sorted()方法创建一个新的已排序列表。

广告一刻

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