Java 使用 Lambda 表达式对 Double 数组进行降序排序
本示例演示如何使用 Java 中的 Lambda 表达式对一个 Double 数组进行从大到小的排序,并打印排序后的结果。
double[] arr = {0.6, 0.65, 0.78, 0.4, 0.9, 0.55};
Arrays.sort(arr, (a, b) -> Double.compare(b, a));
System.out.println(Arrays.toString(arr));
代码解析:
- 创建 Double 数组:
double[] arr = {0.6, 0.65, 0.78, 0.4, 0.9, 0.55};定义一个包含 double 类型元素的数组arr。 - 使用 Arrays.sort() 方法排序:
Arrays.sort(arr, (a, b) -> Double.compare(b, a));使用Arrays.sort()方法对数组arr进行排序,第二个参数是一个 Lambda 表达式,它定义了排序规则。- Lambda 表达式
(a, b) -> Double.compare(b, a)接受两个double类型的参数a和b,并返回Double.compare(b, a)的结果。Double.compare(b, a)用于比较b和a的大小,如果b大于a,则返回一个正数;如果b小于a,则返回一个负数;如果相等,则返回 0。由于Arrays.sort()方法默认是升序排序,因此这里通过交换a和b的位置来实现降序排序。
- Lambda 表达式
- 打印排序后的结果:
System.out.println(Arrays.toString(arr));使用Arrays.toString()方法将排序后的数组转换为字符串并打印到控制台。
运行代码后,控制台将输出以下结果:
[0.9, 0.78, 0.65, 0.6, 0.55, 0.4]
该示例展示了如何使用 Java 中的 Lambda 表达式来简洁高效地对 Double 数组进行降序排序。
原文地址: https://www.cveoy.top/t/topic/qg0b 著作权归作者所有。请勿转载和采集!