package com.shandian.demo;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class Demo3 {
public static void main(String[] args) {
List<String> data = initData();
int length = data.size();//总记录数
int no = 3;//一页几条
int count = data.size() % no;//是否有余数
int page = length / no;//除以当前页的数据量,得到最小的页面数值,防止后面计算越界
int left = 0;//左偏移量
int right = 0;//右偏移量
Map<String, Object> map = new HashMap<>();
for (int i = 0; i < page; i++) {
left = no * i;
right = no * (i + 1);
//这个就弥补了当存在余数的时候,进行后卫补充,防止漏数据
if (count != 0 && i == page - 1) {
right = right + count;
}
List<String> list = show(data, left, right);
map.put("key" + i, list);
}
Set<String> set = map.keySet();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
System.out.println(map.get(it.next()));
}
}
// 循环调用
private static List<String> show(List<String> data, int offleft, int offrigth) {
List<String> list = new ArrayList<>();
for (int i = offleft; i < offrigth; i++) {
list.add(data.get(i));
}
return list;
}
private static List<String> initData() {
List<String> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add("a" + i);
}
return list;
}
}
将含有n条的数据,进行批量修改时,所处理的一个机制
猜你喜欢
转载自blog.csdn.net/arryluo123/article/details/79624865
今日推荐
周排行