/** * 实现java 中 list集合中有几十万条数据,每100条为一组取出 * @param list 可穿入几十万条数据的List * @return map 每一Key中有100条数据的List */ @SuppressWarnings({ "unchecked", "rawtypes" }) public Map groupList(List list){ int listSize = list.size(); int toIndex = 100; Map map = new HashMap(); //用map存起来新的分组后数据 int keyToken = 0; for (int i = 0; i<list.size(); i+=100) { if (i+100 > listSize) { //作用为toIndex最后没有100条数据则剩余几条newList中就装几条 toIndex = listSize - i; } List newList = list.subList(i, i+toIndex); //此处可进行一些批量操作 map.put("keyName"+keyToken, newList); keyToken++; } return map; }
参考博客:
实现java 中 list集合中有几十万条数据,每100条为一组取出 - 艺意 - 博客园
https://www.cnblogs.com/wkrbky/p/6100984.html
JAVA大集合数据分批次进行切割处理 - 刘小品。 - 博客园
https://www.cnblogs.com/lewisat/p/4339748.html