Mam stronę JSF, która wyświetla listę plików dziennika Glassfish. Używam leniwego ładowania do paginacji. Przechowuję listę nazw plików dziennika w Javie List.
private List<directoryListObj> dataList = new ArrayList<>();
dataList = dataList.subList(firstRow, lastRow);
I tu jest problem. Na przykład mam 35 plików w katalogu. Kiedy to robię
dataList = dataList.subList(5, 15);
To działa dobrze. Ale kiedy to robię:
dataList = dataList.subList(30, 38);
Otrzymuję błąd, zły indeks, ponieważ chcę, aby indeks był poza listą. Jak mogę na przykład zwrócić elementy listy od 30 do 35? Chcę, jeśli chcę uzyskać indeks od 30 do 40, ale jeśli jest tylko 35 indeksów, aby uzyskać tylko 5.
dataList = dataList.subList(30, 38 > dataList.size() ? dataList.size() : 38);