【发布时间】:2018-09-08 03:07:20
【问题描述】:
我有字符串列表 例如
**united**abc
**united**abcd
abcd**united**
**united**abcde
asdasdad**united**
**united**a
它是根据字符串的长度排序的,但我的想法是排序
**united**a
**united**abc
**united**abcd
**united**abcde
abcd**united**
asdasdad**united**
首先出现以united 开头的字符串,然后是以united 结尾的其他单词。但我仍然需要保持长度顺序。
我试过了,但这不起作用
if (o1.name.toLowerCase().startsWith(query)) {
return@Comparator -1
} else if (o2.name.toLowerCase().startsWith(query)) {
return@Comparator 1
} else {
return@Comparator 0
}
【问题讨论】:
-
您需要 2 个比较器来提高可读性。一个访问另一个。您还需要考虑 o1 和 o2 都包含联合的情况
标签: java sorting collections