У меня есть список объектов, которые я реализую с помощью специального компаратора, чтобы отсортировать их в желаемый мной формат.
Мой объект выглядит следующим образом
storageZoneId = <a long value>
floorNo = <an integer>
status = <CREATED/DRAFT>
Я хочу мой список объектов для сортировки таким образом, чтобы они были упорядочены сначала по всем статусам DRAFT, затем по StorageZoneId, а затем по floorNo. То, что я реализовал до сих пор, выполняет последние два шага, но как я могу сделать первый - в основном разделить список так, чтобы за всеми статусами «ЧЕРНОВИК» сначала следовали все «СОЗДАНО».
public int compare(Object o1, Object o2) {
ServiceRequest serviceRequest1 = (ServiceRequest) o1;
ServiceRequest serviceRequest2 = (ServiceRequest) o2;
int compare_zone = Long.compare(serviceRequest1.getStorageZoneId(), serviceRequest2.getStorageZoneId());
if (compare_zone == 0) {
return Integer.compare(serviceRequest1.getFloorNumer(), serviceRequest2.getFloorNumer());
} else {
return compare_zone;
}
}