java数组拆分多个子数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java数组拆分多个子数组相关的知识,希望对你有一定的参考价值。
这里做个java集合/数组拆分多个子集合/数组的两种实现方式的笔记。
方式 一:
/** * 拆分集合 * @param datas * @param splitSize * @param <T> * @return */ private <T> List<List<T>> spliceArrays(List<T> datas, int splitSize) { if (datas == null || splitSize < 1) { return null; } int totalSize = datas.size(); //获取要拆分子数组个数 int count = (totalSize % splitSize == 0) ? (totalSize / splitSize) : (totalSize/splitSize+1); System.out.println("split count = " +count); List<List<T>> rows = new ArrayList(); for (int i = 0;i < count;i ++) { int index = i * splitSize; List<T> cols = new ArrayList(); int j = 0; while (j < splitSize && index < totalSize) { cols.add(datas.get(index++)); j ++; } rows.add(cols); } return rows; }
方式二:
/** * 拆分集合 * @param datas * @param splitSize * @param <T> * @return */ private <T> List<List<T>> spliceArrays(List<T> datas, int splitSize) { if (datas == null || splitSize < 1) { return null; } int totalSize = datas.size(); int count = (totalSize % splitSize == 0) ? (totalSize / splitSize) : (totalSize/splitSize+1); List<List<T>> rows = new ArrayList<>(); for (int i = 0; i < count;i++) { List<T> cols = datas.subList(i * splitSize, (i == count - 1) ? totalSize : splitSize * (i + 1)); rows.add(cols); System.out.println(cols); } return rows; }
本文出自 “CocosDev” 博客,请务必保留此出处http://xuzhiwei.blog.51cto.com/978424/1740417
以上是关于java数组拆分多个子数组的主要内容,如果未能解决你的问题,请参考以下文章
如何使用分隔符数组在 Java 中使用多个分隔符拆分字符串? [复制]