需求
将百万数据分组取出
思路:
将假设只有1000数据, 如何取出?
将数据放入Map当中, new HashMap<String, List>
代码
//模拟1000数据
List<String> list = new ArrayList<>();
for( int i = 0; i < 1000; i ++){
list.add(i+"Str");
}
int size = list.size();
//设置分组后的每组数量
int toIndex= 100;
// 用Map来存储数据,设置key
Map<String,List> map = new HashMap<>();
int key = 0;
//获取每组的value
for(int i = 0; i < size; i+=toIndex){
List<String> newList = new ArrayList<>();
//如何截取新的newList
if(i + toIndex > size){
toIndex = size - i;
}
newList = list.subList(i, i+toIndex);
map.put("key" + key, newList);
key++;
}
//遍历map
map.foreach((key,value) ->{
System.out.println("key =" + key + ": " + value);
})