java我如何在这里使用循环,我想每转一圈就从列表中删除3个元素
我有一个包含一些元素的列表,当page num=1时,我需要打印前3个元素, 当page==2时,接下来的3个元素也是
public class OtherTemporaryTrials {
public static void main(String[] args) {
int numOfPages = 6;
ArrayList<Integer> al = new ArrayList<Integer>();
al.add(13);
al.add(77);
al.add(53);
al.add(63);
al.add(173);
al.add(134);
al.add(1366);
al.add(13446);
al.add(1333);
al.add(1323);
al.add(163);
al.add(1335);
al.add(13228);
al.add(1573);
al.add(13355);
al.add(12343);
al.add(12353);
for(int i=0;i<numOfPages;i++) {
setdata(al,numOfPages);
}
}
private static void setdata(ArrayList<Integer> al, int numOfPages) {
for(int i=0;i<3;i++) {
// Here for every next page we should get the next 3 elements from List
System.out.println(al.get(i));
}
}
}
# 1 楼答案
要访问页面大小为
k
的nth
页面,需要获取范围为n * k
到(n + 1) * k
的元素。这可以使用subList
API轻松完成:因为这适用于基于零的索引,如果希望1表示第一页,则需要从页码中减去1,然后再使用它计算子列表的范围边界