subList
是 List
接口中的一个方法,用于获取原始列表中指定范围的子列表。它的作用是从原始列表中截取一部分元素,返回一个新的列表,该新列表包含了原始列表中指定范围的元素。
subList
方法的参数是起始索引和结束索引(不包含结束索引),表示要截取的子列表的范围。例如,subList(2, 5)
表示截取原始列表中索引从 2 到 4 的元素,返回一个包含这些元素的新列表。
使用 subList
方法可以方便地对列表进行分页操作。通常情况下,我们会先获取原始列表的总大小,然后根据每页的大小计算出总页数。然后,根据当前页码和每页大小计算出起始索引和结束索引,再使用 subList
方法截取出当前页的数据。
例如,假设有一个包含 10 个元素的列表 list
,我们想要获取第 2 页的数据,每页大小为 3。首先,计算出总页数为 4。然后,根据当前页码和每页大小计算出起始索引为 3,结束索引为 6。最后,使用 subList
方法截取出索引从 3 到 5 的元素,即为第 2 页的数据。
List<String> list = Arrays.asList("A", "B", "C", "D", "E", "F", "G", "H", "I", "J");
int pageSize = 3;
int currentPage = 2;
int totalSize = list.size();
int totalPages = (int) Math.ceil((double) totalSize / pageSize);
int startIndex = (currentPage - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, totalSize);
List<String> pageList = list.subList(startIndex, endIndex);
在上面的例子中,pageList
将包含索引从 3 到 5 的元素,即为 ["D", "E", "F"],这就是第 2 页的数据。注意,subList
方法返回的是原始列表的一个视图,对子列表的修改会影响到原始列表,同样,对原始列表的修改也会影响到子列表。