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 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告