java - 从某个位置获取arraylist 10个项目
问题描述
这样的问题,列表中有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));
}