这样的问题,列表中有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));
}