【问题标题】:how to split a list into a given number of sub-lists? [duplicate]如何将列表拆分为给定数量的子列表? [复制]
【发布时间】:2017-05-07 01:36:43
【问题描述】:

我有一个可能超过 1000 字符串的列表,但我不知道具体有多少。

在不丢失任何列表成员的情况下将此list 拆分为较小的列表 的最佳方法是什么?

例如,如果我有一个1323 成员列表,我怎样才能最好地将它分成 3 个大小几乎相等的列表?

我见过GuavaCommons 通过分区函数拆分列表的方式,但是该函数会将列表拆分为给定大小的块,而不是给定数量的组(子列表)。

【问题讨论】:

    标签: java string list guava apache-commons


    【解决方案1】:

    Guava 有一个函数 Lists.partition 会为你做这件事

    用法:

    Lists.partition(mylist, mylist.size()/3);
    

    【讨论】:

    • 谢谢,但我需要知道它会产生多少列表?
    • 谢谢,这会尽可能均匀地将列表分成 3 个较小的列表吗?
    • 这不起作用:(如果您想要 2 个组并且列表的大小为 3,那么结果将是 3 个组(因为 3/2=1)。
    猜你喜欢
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 2011-03-28
    • 1970-01-01
    • 2021-08-23
    相关资源
    最近更新 更多