stream流排序的空字符串排最后
时间: 2024-12-27 09:11:41 浏览: 33
在Java中,当使用`Stream` API对集合进行排序时,如果需要将空字符串(`""`)排在最后,可以自定义一个比较器(CustomComparator)来实现这个特定的规则。例如,你可以创建一个实现了`Comparator<String>`接口的类,并在`compare()`方法中处理空字符串的情况。这里是一个简单的例子:
```java
import java.util.Comparator;
class StringLastSortComparator implements Comparator<String> {
@Override
public int compare(String s1, String s2) {
if (s1.isEmpty() && !s2.isEmpty()) { // 如果s1为空,且s2不为空,则s1排在后
return 1;
} else if (!s1.isEmpty() && s2.isEmpty()) { // 否则,正常比较,s1不为空,s2为空,则s1排在前
return -1;
} else { // 对于非空字符串,按照常规的字母顺序比较
return s1.compareTo(s2);
}
}
}
// 使用示例
List<String> list = ...; // 初始化一个字符串列表
list.sort(Comparator.comparing(StringLastSortComparator::new)); // 自定义排序
```
阅读全文
相关推荐


















