У меня есть список строк (com.ab c .c345, com.ab c .a123, com.ab c .d456, com.ab c .b234, com.qwr. a1, com.wer.b2, com.ert.c3)
Я хочу отсортировать это так, чтобы строки, содержащие 'com.ab c', отображались сначала в их отсортированном стиле, а после этого остальные строки в их отсортированном стиле.
Таким образом, вывод должен выглядеть примерно так:
(com.ab c .a123, com.ab c .b234, com.ab c .c345, com.ab c .d456, com.ert.c3, com.qwr.a1, com.wer.b2)
Редактировать 1: я пытался использовать компараторы как:
Collections.sort(list, new Comparator<LoggerDetails>() {
@Override
public int compare(LoggerDetails o1, LoggerDetails o2) {
if (o1.logger.startsWith("com.abc") && o2.logger.startsWith("com.abc")) {
return o1.logger.compareTo(o2.logger);
}
if (o1.logger.startsWith("com.abc") && !o2.logger.startsWith("com.abc")) {
return -1;
}
if (o1.logger.startsWith("com.abc") && !o2.logger.startsWith("com.abc")) {
return 1;
}
return 0;
}
});