У меня есть список планов перезарядки с указанием имени и суммы, например:
Top-Up 80
Add-On 56
Add-on 60
Top-Up 20
Recharge 45
Top-Up 121
Add-On 9
Recharge 34
Я ожидаю отсортированный результат, подобный этому
Add-On 9
Add-On 56
Add-On 60
Recharge 34
Recharge 45
Top-Up 20
Top-Up 80
Сортировка по имени иподсортировать на основе суммы.Я пробовал это, но не получил ожидаемый результат.
Collections.sort(rechargePlans, (o1, o2) -> {
String x1 = ((RechargePlan) o1).getRechargeShortDesc();
String x2 = ((RechargePlan) o2).getRechargeShortDesc();
int sComp = x1.compareTo(x2);
if (sComp != 0) {
return sComp;
}
Integer x11 = ((RechargePlan) o1).getRechargeAmountInteger();
Integer x22 = ((RechargePlan) o2).getRechargeAmountInteger();
return x11.compareTo(x22);
});
Я потерял алфавитный порядок сортировки при применении сортировки по сумме.