0

我只想使用copyFromRealm方法将内存中的前 10 行或可能的 n 行作为 java 列表。像这样考虑:

RealmResults<RecentViewItem> results = realm.where(RecentViewItem.class).findAllSorted("updatedAt", Sort.DESCENDING);
// This will load all rows in-memory list
List<RecentViewItem> list = realm.copyFromRealm(results);

// But I want only first n rows without running any loop.

更新: 由于 RealmResult 扩展了 AbstractList -

RealmResults<RecentViewItem> results =
                realm.where(RecentViewItem.class)
                        .findAllSorted("updatedAt", Sort.DESCENDING);
List<RecentViewItem> temp = results.subList(0, maxNoRecentViewItem);   // Still list of RealmProxyObject
List<RecentViewItem> list = realm.copyFromRealm(temp);   // List of RecentViewItem Object
4

0 回答 0