这样的问题,列表中有100个职位,我仅获得该职位,并且我希望从该职位接收以下10个项目,例如,我得到30个职位,我想返回30-40个职位

我尝试了sublist(30,30+10),但最后还是出错了。

ArrayList<Model> numList = new ArrayList<>();


在numList中,我有100个项目;

ArrayList<Model> numList2 = new ArrayList<>();


在numlist2中,我希望从30到40,但是我只有30的起始位置,我需要的大小是10。

最佳答案

javadoc始终是有用的。

List<Model> numList2 = numList.subList(30, 40); // 40 exclusive


numList2在两个方向上都由numList支持:

 numList2.set(0, ...); // numList.get(30) changed
 numList.set(31, ...); // num2List.get(1) changed


独立名单:

List<Model> numList2 = new ArrayList(numList.subList(30, 40));




List<Model> get10(List<Model> numList, int i) {
    if (i >= numList.size()) {
        return new ArrayList<>();
    }
    int i2 = Math.min(i + 10, numList.size());
    return new ArrayList(numList.subList(i, i2));
}

10-06 13:06