使用反转比较器对字符串流进行排序的 Java 程序


在本文中,我们将学习如何在 Java 中使用反转比较器对字符串流进行排序。Java 8 引入了 Stream API,它允许进行强大的操作,例如使用自定义比较器进行排序。

Java 比较器

一个比较器 是 Java 中的一个函数式接口,它定义了自定义的排序逻辑。它比较两个对象,并根据比较结果返回一个结果。

Java 流

一个 是一个元素序列,可以并行或顺序地处理,支持排序、过滤和映射等方法。

使用反转比较器对字符串流进行排序

以下是使用反转比较器对字符串流进行排序的步骤:

  • 步骤 1:创建字符串列表 - 我们首先创建一个要排序的字符串列表。
List<String> list = Arrays.asList("Tom", "Jack", "Ryan", "Kevin", "Loki", "Thor");
  • 步骤 2:定义用于比较的比较器 - 我们定义一个比较器,使用 compareTo() 方法 以字典顺序比较字符串。
Comparator<String> comp = (aName, bName) -> aName.compareTo(bName);
  • 步骤 3:使用带有反转比较器的流对列表进行排序 - 使用 stream() 方法,我们使用反转比较器对列表进行排序并显示结果。
list.stream().sorted(comp.reversed())

使用反转比较器对字符串流进行排序的 Java 程序

以下是使用反转比较器对字符串流进行排序的示例:

import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
public class Demo {
	public static void main(String[] args) {
		List<String> list = Arrays.asList("Tom", "Jack", "Ryan", "Kevin", "Loki", "Thor");
		System.out.println("Initial List = "+list);
		System.out.println("Reverse...");
		Comparator<String> comp = (aName, bName) -> aName.compareTo(bName);
		list.stream().sorted(comp.reversed()) .forEach(System.out::println);
	}
}

输出

Initial List = [Tom, Jack, Ryan, Kevin, Loki, Thor]
Reverse...
Tom
Thor
Ryan
Loki
Kevin
Jack

更新于: 2024-11-23

305 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告