java如何把一个2W行数据的list弄成每5W存1个list,然后生成一个Map<List,String>
我有一个list,里面存的是一行一行的数据,共有2W行我想读取这个list然后分成每5000条存一个新的list然后把4个list存入一个Map<List,String>...
我有一个list,里面存的是一行一行的数据,共有2W行我想读取这个list然后分成每5000条存一个新的list然后把4个list存入一个Map<List,String>中java程序如何实现,麻烦大神帮忙,想不通
展开
3个回答
展开全部
public static void main(String[] args) {
List<String> all = new ArrayList<>();
all.add("0");
all.add("1");
all.add("2");
all.add("3");
all.add("4");
all.add("5");
all.add("6");
all.add("7");
int size = 4;
int row = 2; // 这个可以改为 5000,前提是all中有2W行数据
Map<Integer, List> map = new HashMap<>(size); // 你要求的Map<List,String>感觉很奇怪
// 从你代码里看是要求Map<Integer, List>
for (int i = 0; i < size; i++) {
List<String> temp = all.stream()
.skip(row * i)
.limit(row)
.collect(Collectors.toList());
map.put(i, temp);
}
map.forEach((k, v) -> System.out.println(k + ":" + v));
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询