#結論
org.apache.commons.collections4.ListUtils#partition() を利用する。
##Maven
https://mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.4
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
##利用例(1)
一つあたりの最大の要素の数を指定する
List<String> list0 = Arrays.asList("aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg");
List<List<String>> lists = ListUtils.partition(list0, 3);
for (List<String> list : lists) {
System.err.println(list);
}
[aaa, bbb, ccc]
[ddd, eee, fff]
[ggg]
##利用例(2)
いくつに分割したいかを指定する
List<String> list0 = Arrays.asList("aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg");
List<List<String>> lists = ListUtils.partition(list0, list0.size() / 2 + 1);
for (List<String> ll : lists) {
System.err.println(ll);
}
[aaa, bbb, ccc, ddd]
[eee, fff, ggg]
経緯
同様のメソッドを自作して完成したのですが「これはCommonsにあるのでは!?」と気づいて発見に至りましたorz。
以上。