Java List 字母排序
在 Java 中,对 List 中的字母(字符串)进行排序有几种常见方法,以下是几种实现方式:

使用 Collections.sort()
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ListSortExample {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("Banana");
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Grape");
// 自然排序(字母顺序)
Collections.sort(fruits);
System.out.println("排序后的列表: " + fruits);
// 输出: [Apple, Banana, Grape, Orange]
}
}
使用 List.sort() 方法(Java 8+)
import java.util.ArrayList;
import java.util.List;
public class ListSortExample {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("Banana");
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Grape");
// 使用List.sort()方法
fruits.sort(String::compareTo);
System.out.println("排序后的列表: " + fruits);
}
}
自定义排序(忽略大小写)
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ListSortExample {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("Banana");
fruits.add("apple");
fruits.add("Orange");
fruits.add("grape");
// 忽略大小写的排序
Collections.sort(fruits, String.CASE_INSENSITIVE_ORDER);
System.out.println("忽略大小写排序后的列表: " + fruits);
// 输出: [apple, Banana, grape, Orange]
}
}
使用 Java 8 Stream API 排序
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class ListSortExample {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("Banana");
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Grape");
// 使用Stream API排序
List<String> sortedFruits = fruits.stream()
.sorted(String::compareTo)
.collect(Collectors.toList());
System.out.println("Stream排序后的列表: " + sortedFruits);
}
}
降序排序
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ListSortExample {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("Banana");
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Grape");
// 降序排序
fruits.sort(Comparator.reverseOrder());
System.out.println("降序排序后的列表: " + fruits);
// 输出: [Orange, Grape, Banana, Apple]
}
}
注意事项
Collections.sort()会直接修改原列表- 如果需要保持原列表不变,可以先创建副本再排序
- 对于自定义对象,需要实现
Comparable接口或提供Comparator - 排序算法的时间复杂度通常是 O(n log n)
方法都可以有效地对 Java List 中的字符串进行字母排序,选择哪种方法取决于你的具体需求和 Java 版本。

