How to use subList()

java

Solution

Using `subList(30, 38);` will fail because max index 38 is not available in list, so its not possible.

Only way may be before asking for the sublist, you explicitly determine the max index using list size() method.

for example, check size, which returns 35, so call `sublist(30, size());`

OR

COPIED FROM pb2q comment

dataList = dataList.subList(30, 38 > dataList.size() ? dataList.size() : 38);

Problem

I have a JSF page which displays list of Glassfish log files. I use lazy loading for pagination. I keep the list of the log files names into Java `List`. ``` private List<directoryListObj> dataList = new ArrayList<>(); dataList = dataList.subList(firstRow, lastRow); ``` And here is the problem. For example I have 35 files into the directory. When I do this ``` dataList = dataList.subList(5, 15); ``` It works fine. But when I do this: ``` dataList = dataList.subList(30, 38); ``` I get error wrong index because I want to get index outside of the List. How I can for example return List elements from 30 to 35? I want if I want to get index from 30 to 40 but if there only 35 indexes to get only 5.

Original source