stream().sorted()中文排序,非空
时间: 2023-08-16 21:53:37 浏览: 207
Redis sort 排序命令详解
对于在流中进行中文排序时,可以使用`Comparator`来指定排序规则。要确保对非空元素进行排序,您可以使用`filter`方法来过滤掉空元素,然后再进行排序。以下是一个示例代码:
```java
List<String> list = Arrays.asList("张三", "李四", "王五", "", "赵六", "田七");
List<String> sortedList = list.stream()
.filter(str -> !str.isEmpty()) // 过滤掉空字符串
.sorted(Comparator.naturalOrder()) // 使用自然排序(升序)
.collect(Collectors.toList());
System.out.println(sortedList);
```
在这个示例中,我们使用`filter`方法过滤掉空字符串,然后使用`sorted`方法进行排序,最后使用`collect`方法将排序后的元素收集到一个列表中。输出结果将会是:`[李四, 张三, 王五, 田七, 赵六]`。
请注意,这里使用的是自然排序(升序),如果您需要降序排序,可以使用`Comparator.reverseOrder()`方法来替代`Comparator.naturalOrder()`。
希望这个示例能够满足您的需求!如果还有其他问题,请随时提问。
阅读全文