JavaでListを分割する方法

例えばDynamoDBのBatchWriteItemだと25件ずつに分割する必要があります。

いろいろな方法があるようです。

Apache Commons Collectionsの ListUtils.partition()を使う方法

http://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/ListUtils.html#partition(java.util.List,%20int)

http://www.baeldung.com/java-list-split

guava ライブラリの Lists.partition を使う方法

http://blog.sunone.me/2011/12/16/java-guava%E3%81%A7list%E3%82%92%E4%B8%80%E5%AE%9A%E8%A6%81%E7%B4%A0%E6%95%B0%E3%81%9A%E3%81%A4%E3%81%AB%E5%88%86%E5%89%B2%E3%81%99%E3%82%8B/

Java8以降であれば Collectors partitioningBy も使えます。

http://www.baeldung.com/java-list-split

こんなのもあります。

https://gist.github.com/tksmaru/5301447

参考

http://dev.classmethod.jp/cloud/amazon-dynamodb-batch-write-items/