Realm.io Android лучший способ получить последние 20 предметов из таблицы

В таблице, скажем, 100 предметов, что является лучшим подходом для получения последних 20 предметов.

Один из способов, который я могу придумать, - это загрузить все объекты, перевернуть массив, создать новый массив и зациклить результаты 20 раз, заполняя новый массив и возвращая его.

Примерно так:

 public ArrayList<DataObject> getLastItems (int qty){

    RealmResults<DataObject>results = realm.where(DataObject.class).findAll();

    Collections.reverse(results);

    ArrayList<DataObject>arrayList = new ArrayList<>();

    for (int i = 0; i == qty; i++){

        arrayList.add(results.get(i));

    }

    return arrayList;
}

Есть ли лучший быстрый способ сделать это в Android с помощью realm.io?

Обновить

это так далеко, как это обрабатывается ..

  public ArrayList<DataObject> getLastItems (int qty){

    RealmResults<DataObject>results = realm.where(DataObject.class).findAll();
    ArrayList<DataObject> arrayList = new ArrayList<>();
    for (int i = results.size(); i > Math.max(results.size() - 20, 0) ; i--) {
        arrayList.add(results.get(i-1));
    }

    return arrayList;
}

Ответы на вопрос(1)

Ваш ответ на вопрос