Java数组分隔成子数组
2016-01-20 21:31
471 查看
有这样一个需求,循环数组输出动态表单为一行两列
分隔数组每两个为一组,如果单数最后一个为一组
作者:itmyhome
分隔数组每两个为一组,如果单数最后一个为一组
import java.util.ArrayList; import java.util.List; public class SplitArray { public static void main(String[] args) { String ary[] = { "a", "b", "c", "d", "e" }; // 分隔的数组 int splitSize = 2; // 分隔的大小 Object subAry[] = splitAry(ary, splitSize); for (Object obj : subAry) { String subItem[] = (String[]) obj; for (int i = 0; i < subItem.length; i++) { System.out.print(subItem[i] + ","); } System.out.println(); } } /** * 比如 { "a", "b", "c", "d", "e" } * 分隔成 * a, b * c, d * e */ private static Object[] splitAry(String ary[], int subSize) { int count = ary.length % subSize == 0 ? ary.length / subSize : ary.length / subSize + 1; List<List<String>> subAryList = new ArrayList<List<String>>(); for (int i = 0; i < count; i++) { int index = i * subSize; List<String> list = new ArrayList<String>(); int j = 0; while (j < subSize && index < ary.length) { list.add(ary[index++]); j++; } subAryList.add(list); } // 将List<List<String>> 封装为 Object[],也可以不需要 Object[] subAry = new Object[subAryList.size()]; for (int i = 0; i < subAryList.size(); i++) { List<String> subList = subAryList.get(i); String[] subAryItem = new String[subList.size()]; for (int j = 0; j < subList.size(); j++) { subAryItem[j] = subList.get(j); } subAry[i] = subAryItem; } return subAry; } }
作者:itmyhome
相关文章推荐
- Java数组分隔成子数组
- javaweb学习(一)——servlet总结
- JVM学习04-class字节码的结构
- 【慕课笔记】第四章 流程控制语句 第9节 JAVA循环跳转语句之break
- rpm -qa | grep jdk
- Eclipse开发JAVA中如何Debug
- javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String
- 【慕课笔记】第四章 流程控制语句 第8节 JAVA循环语句之for
- 使用Struts完成上传
- java基础知识总结:
- jdk环境变量的配置
- 【慕课笔记】第四章 流程控制语句 第7节 JAVA条件语句之do...while
- spring MVC 如何获取session并实现传值到前台
- 【慕课笔记】第四章 流程控制语句 第6节 JAVA条件语句之while
- 【更新】2016/1/22 Java学习小结
- 简单认识Struts2
- 使用spring mvc遇到的问题
- java_65
- IO流4(IO中的其他流、编码)
- 【慕课笔记】第四章 流程控制语句 第5节 JAVA条件语句之switch