Java中List如何排序呢?
下文笔者讲述list排序的方法及示例分享,如下所示
List排序的实现思路
使用 Collections.sort() 或 List自身sort()方法进行排序例
1.使用`Collections.sort()`方法
`Collections.sort()`方法 可以对实现List接口集合进行排序。 它需要导入java.util.Collections类 import java.util.ArrayList; import java.util.Collections; import java.util.List; public class SortListExample { public static void main(String[] args) { List<Integer> numbers = new ArrayList<>(); numbers.add(15); numbers.add(12); numbers.add(19); numbers.add(11); //使用Collections.sort()方法 //进行排序 Collections.sort(numbers); //输出排序后的列表 System.out.println("Sorted List: " + numbers); } } ========输出结果======= Sorted List: [11,12,15,19]
自定义排序
需要自定义排序规则 可以传递一个`Comparator`对象 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class CustomSortExample { public static void main(String[] args) { List<String> names = new ArrayList<>(); names.add("Alice"); names.add("Bob"); names.add("Charlie"); // 使用自定义 Comparator 进行排序 Collections.sort(names, new Comparator<String>() { @Override public int compare(String s1, String s2) { return s2.compareTo(s1); // 降序排序 } }); // 输出排序后的列表 System.out.println("Sorted List (Descending): " + names); } } ====运行以上代码,输出以下信息====== Sorted List (Descending): [Charlie, Bob, Alice]
2.使用`List.sort()`方法
`List`接口引入`sort()`方法 可直接对`List`进行排序 import java.util.ArrayList; import java.util.List; public class ListSortExample { public static void main(String[] args) { List<Integer> numbers = new ArrayList<>(); numbers.add(5); numbers.add(2); numbers.add(9); numbers.add(1); // 使用 List.sort() 方法进行排序 numbers.sort(null); // null 表示使用自然顺序 // 输出排序后的列表 System.out.println("Sorted List: " + numbers); } } ===运行以上代码,将输出以下信息======== Sorted List: [1, 2, 5, 9]
自定义排序
传递一个`Comparator`对象 进行自定义排序 import java.util.ArrayList; import java.util.Comparator; import java.util.List; public class CustomListSortExample { public static void main(String[] args) { List<String> names = new ArrayList<>(); names.add("Alice"); names.add("Bob"); names.add("Charlie"); // 使用自定义 Comparator 进行排序 names.sort(new Comparator<String>() { @Override public int compare(String s1, String s2) { return s2.compareTo(s1); // 降序排序 } }); // 输出排序后的列表 System.out.println("Sorted List (Descending): " + names); } } =====运行以上代码,将输出以下信息===== Sorted List (Descending): [Charlie, Bob, Alice]
使用 Lambda 表达式进行自定义排序
Java 8 引入了 Lambda 表达式,使得自定义排序更加简洁。 import java.util.ArrayList; import java.util.List; public class LambdaSortExample { public static void main(String[] args) { List<String> names = new ArrayList<>(); names.add("Alice"); names.add("Bob"); names.add("Charlie"); // 使用 Lambda 表达式进行自定义排序 names.sort((s1, s2) -> s2.compareTo(s1)); // 降序排序 // 输出排序后的列表 System.out.println("Sorted List (Descending): " + names); } } ====输出结果 Sorted List (Descending): [Charlie, Bob, Alice]
使用方法引用进行自定义排序
Java 8还引入方法引用 可以进一步简化代码。 import java.util.ArrayList; import java.util.List; public class MethodReferenceSortExample { public static void main(String[] args) { List<String> names = new ArrayList<>(); names.add("Alice"); names.add("Bob"); names.add("Charlie"); // 使用方法引用进行自定义排序 names.sort(String::compareToIgnoreCase); // 按忽略大小写排序 // 输出排序后的列表 System.out.println("Sorted List (Case Insensitive): " + names); } } ===运行以上代码,将输出以下信息===== Sorted List (Case Insensitive): [Alice, Bob, Charlie]
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。