使用反轉比較器對字串流進行排序的 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
廣告