Сортировка в RxJava: есть ли лучший способ сделать это?

#rx-java

#rx-java

Вопрос:

Мне нужно вернуть Observable<CostCenter> центры выдачи, отсортированные по name

   public Observable<CostCenter> getCostCenters() {
        return dao.getCostCenters().toSortedList(new Func2<CostCenter, CostCenter, Integer>() {
            @Override
            public Integer call(CostCenter costCenter, CostCenter costCenter2) {
                return costCenter.getName().compareTo(costCenter2.getName());
            }
        }).flatMap(new Func1<List<CostCenter>, Observable<CostCenter>>() {
            @Override
            public Observable<CostCenter> call(List<CostCenter> costCenters) {
                return Observable.from(costCenters);
            }
        });
    }
  

dao.getCostCenters() ВОЗВРАТ Observable<CostCenter> . Есть ли какой-либо оператор для преобразования Observable<List<T>> в Observable<T> без использования flatMap ?

Ответ №1:

Используйте observable.sorted(comparator) , который был введен в rxjava 1.1.9.

Комментарии:

1. Спасибо! Я использовал версию 1.1.1.