Ich bin eine Sammlung von Objekten (einige Kontakt-Klasse in meinem Fall) übergeben und müssen eine Seite aus dieser Sammlung zurückgeben. Mein Code fühlt sich viel länger an, als er sein müsste. Vermisse ich einige Bibliotheken, die durchführen könnte, dass eleganter als Iteration über jedes Element ein zu einer Zeit, wie ich unten tun?
protected Collection<Contact> getPageOfContacts(
Collection<Contact> contacts, int pageIndex, int pageSize) {
if (pageIndex < 0 || pageSize <= 0
|| pageSize > contacts.size()) {
return contacts;
}
int firstElement = pageIndex * pageSize;
int lastElement = (pageIndex + 1) * pageSize - 1;
Collection<Contact> pagedContacts = new ArrayList<Contact>();
int index = -1;
for (Contact contact : contacts) {
index++;
if (index < firstElement) {
continue;
}
if (index > lastElement) {
break;
}
pagedContacts.add(contact);
}
return pagedContacts;
}