【发布时间】:2023-03-15 01:42:01
【问题描述】:
我想对包含多行的数组列表进行排序
我想忽略 ' - '
如果它是该行的第一个字母
输入
-bbb
啊啊啊
-ddd
b-ddd
c-ccc
输出
应该是(如您所见,它应该按第一个字符排序(a b c d)
啊啊啊
-bbb
c-ccc
-ddd
e-eee
这是我的代码
Collections.sort(arrList, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
if (o1.startsWith("-") && o2.startsWith("-")) {
return compare(o1.substring(1), o2.substring(1));
}
if (o1.startsWith("-")) {
return 1;
}
if (o2.startsWith("-")) {
return -1;
}
return o1.compareTo(o2);
}
});
【问题讨论】:
-
在您的描述中您使用
-,但您的代码使用|- 这应该如何工作? -
如果它以
|开头,你也可以立即使一个字典比另一个大,但以后不要关心字典值。您的问题询问如何忽略它们,您的代码告诉我们不同。