Java程式:將空值放置在列表末尾的排序方法


在本文中,我們將學習如何在Java中排序包含空值的列表,並確保這些空值保留在底部,而其他元素保持有序。這可以使用Comparator.nullsLast實現,它對非空元素進行排序,並將所有空元素放在最後。

問題陳述

給定一個包含一些字串值和空值的字串列表。編寫一個Java程式來排序列表,並將空值放在最後。

輸入

Initial List = ("Jack", null, "Thor", null, "Loki", "Peter", null, "Hulk")

輸出

Initial List = [Jack, null, Thor, null, Loki, Peter, null, Hulk]
List placing nulls at the end = [Hulk, Jack, Loki, Peter, Thor, null, null, null]

將空值放置在列表末尾的排序步驟

以下是將空值放置在列表末尾的步驟

  • 首先,我們將從java.util包中匯入Arrays類ComparatorList
  • 現在,建立一個包含一些空元素和非空元素的列表。
  • 選擇允許空值的排序方法(例如,Comparator.nullsLast)。
  • 應用排序技術,確保非空元素有序,所有空值都位於末尾。

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("Jack", null, "Thor", null, "Loki", "Peter", null, "Hulk");
      System.out.println("Initial List = "+list);
      list.sort(Comparator.nullsLast(String::compareTo));
      System.out.println("List placing nulls in the end = "+list);
   }
}

輸出

Initial List = [Jack, null, Thor, null, Loki, Peter, null, Hulk]
List placing nulls in the end = [Hulk, Jack, Loki, Peter, Thor, null, null, null]

程式碼解釋

上面的程式碼建立了一個包含一些空值的字串列表,並按字母順序對其進行排序,將所有空值放在末尾。此排序使用Comparator.nullsLast(String::compareTo)執行,以便對非空元素進行排序,同時將空條目移到末尾。它打印出初始的未排序列表,然後打印出空值位於末尾的已排序列表。

更新於:2024年10月30日

405 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.