我傳遞了一個對象集合(在我的情況下是一些Contact類),並且需要從該集合中返回一個頁面。 我的代碼感覺比需要的時間長得多。我是否錯過了一些可以執行更優雅的庫,而不是像以下那樣遍歷每個元素?如何從集合中返回N個連續的元素?
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;
}
集合是如何消耗的?你使用什麼方法/計劃使用它? – Carl 2011-04-01 16:21:57