Мне передана коллекция объектов (в моем случае некоторый класс Contact), и мне нужно вернуть страницу из этой коллекции.
Мой код кажется намного длиннее, чем должен быть. Мне не хватает некоторых библиотек, которые могли бы выполнить это более элегантно, чем перебирать каждый элемент по одному, как я делаю ниже?
protected Collection getPageOfContacts(
Collection contacts, int pageIndex, int pageSize) {
if (pageIndex < 0 || pageSize contacts.size()) {
return contacts;
}
int firstElement = pageIndex * pageSize;
int lastElement = (pageIndex + 1) * pageSize - 1;
Collection pagedContacts = new ArrayList();
int index = -1;
for (Contact contact : contacts) {
index++;
if (index < firstElement) {
continue;
}
if (index > lastElement) {
break;
}
pagedContacts.add(contact);
}
return pagedContacts;
}
Подробнее здесь: https://stackoverflow.com/questions/551 ... collection