是否有 Java 8 等价于 grails 中的 collat​​e 方法?

bee*_*eef 5 java-8

我正在尝试将列表分解为列表列表。在 groovy 中,我可以轻松地做到这一点:

def letters = 'a'..'g'

assert letters.collate(3) == [['a', 'b', 'c'], ['d', 'e', 'f'], ['g']]
Run Code Online (Sandbox Code Playgroud)

Java 8 中是否有等价物?我看过收藏家,但似乎有点复杂。我真的只想将列表中的项目分组为 x。

Mit*_*ran 3

您可以通过 Guava 查看Partition API 的列表:

public static <T> java.util.List<java.util.List<T>> partition(java.util.List<T> list, int size)
Run Code Online (Sandbox Code Playgroud)

返回列表的连续子列表,每个子列表的大小相同(最终列表可能更小)。