Список присоединения Realm
У меня есть список 1, который содержит идентификаторы (список тикетов) и список 2:
List<Ticket> myTickets = realm.where(Ticket.class).equalTo("Status", "E").findAll();
Теперь мне нужно получить новый список (List<Ticket> newTickets
) который должен содержать билеты со статусом E и его ID должен быть в списке 1.
Я могу добиться этого, выполнив:
for (Ticket ticket : mytickets)
if (ticketIDs.contains(ticket.TicketID))
newTickets.add(ticket);
Можно ли получить newTickets по одному запросу (так как использование forLoop вызывает проблемы с производительностью, такие как прокрутка, застревание в некоторых точках)
1 ответ
Решение
Почему бы не использовать RealmQuery.in ()?
String[] strings = new String[ticketIds.size()];
RealmResults<Ticket> results = realm.where(Ticket.class)
.equalTo("Status", "E")
.in("TicketID", ticketIds.<String>toArray(strings))
.findAll();