Realm.io Android bester Ansatz, um die letzten 20 Elemente von einer Tabelle zu erhalten

In einer Tabelle mit beispielsweise 100 Elementen, was der beste Ansatz ist, um die letzten 20 Objekte zu erhalten.

Ich kann mir nur vorstellen, alle Objekte zu laden, das Array umzukehren, ein neues Array zu erstellen und aus den Ergebnissen eine Schleife zu erstellen, die das neue Array 20 Mal ausfüllt und zurückgibt.

Etwas wie folgt:

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

Gibt es eine bessere und schnellere Möglichkeit, dies unter Android mit realm.io zu tun?

Aktualisiere

dies ist soweit wie das gehandhabt wird ..

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

Antworten auf die Frage(10)

Ihre Antwort auf die Frage