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;
}