import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class CollectionSortExample {
public static void main(String[] args) {
// 创建一个包含整数的列表
List<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(2);
numbers.add(9);
numbers.add(1);
numbers.add(5);
numbers.add(3);
// 使用 Collections.sort() 对列表进行排序(自然排序)
Collections.sort(numbers);
System.out.println("自然排序后的列表: " + numbers);
// 定义一个自定义比较器,按降序排序
Comparator<Integer> descendingOrder = (a, b) -> b - a;
// 使用 Collections.sort() 和自定义比较器对列表进行排序
Collections.sort(numbers, descendingOrder);
System.out.println("降序排序后的列表: " + numbers);
// 创建一个包含字符串的列表
List<String> words = new ArrayList<>();
words.add("apple");
words.add("orange");
words.add("banana");
words.add("grape");
// 使用 lambda 表达式和方法引用对字符串列表进行排序(按长度排序)
words.sort(Comparator.comparingInt(String::length));
System.out.println("按长度排序后的列表: " + words);
// 使用 lambda 表达式对字符串列表进行排序(按字母顺序排序)
words.sort((a, b) -> a.compareTo(b));
System.out.println("按字母顺序排序后的列表: " + words);
}
}
自然排序:对于实现了 Comparable
接口的对象(如 Integer
),可以直接使用 Collections.sort()
方法进行排序。默认情况下,整数是按升序排列的。
自定义排序:通过实现 Comparator
接口,可以定义自己的排序规则。例如,上面的例子中我们定义了一个降序排序的比较器,并将其传递给 Collections.sort()
方法。
字符串排序:对于字符串列表,可以使用 Comparator.comparingInt(String::length)
按照字符串长度进行排序,也可以使用 compareTo
方法按照字母顺序进行排序。
Lambda 表达式:在 Java 8 及以上版本中,可以使用 Lambda 表达式简化代码。例如,(a, b) -> a.compareTo(b)
是 Comparator<String>
的一种简洁写法。
上一篇:windows查看java进程
下一篇:java 编程
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站