ページングのキーアルゴリズムとDemo
1677 ワード
public static List getSubList(ArrayList arr,int index,int size){
//
// , int , :10/3 = 3.xxxx = 3 ! floor
int requestCount = arr.size() / size;
// null , ArrayList
//ArrayList List
if(index < 0 || index > requestCount)
return new ArrayList();
// item
int from = index * size;
//
int to = Math.min(arr.size(), (index + 1) * size);
// arr , offset length
List subList = arr.subList(from, to);
return subList;
}
public static ArrayList makeArrayList(int num){
ArrayList arr = new ArrayList<>(num);
for(int i = 0; i < num; i++){
arr.add(i);
}
return arr;
}
public static void main(String[] args) throws IOException {
ArrayList list = makeArrayList(17);
List subList = null;
// : 10 , 7 , 70
// ArrayList 17 , null
for(int i = 0; i < 10; i++){
subList = getSubList(list,i,7);
System.out.println(subList.toString());
}
}
[0, 1, 2, 3, 4, 5, 6]
[7, 8, 9, 10, 11, 12, 13]
[14, 15, 16]
[]
[]
[]
[]
[]
[]
[]
,