分组以通过值的总和获得最小量的组

时间:2016-09-01 14:12:47

标签: java arrays

我有一组对象,我们只说文件,我想按组中文件的最大总大小对它们进行分组。但我想找到最小的数字组。

现在让我们说对象列表看起来像这样

class FileSize{
    int size;
    public FileSize(int size){
        this.size=size;
    }
}
private void test(){
    List<FileSize> files = new ArrayList<FileSize>();
    files.add(new FileSize(4));
    files.add(new FileSize(6));
    files.add(new FileSize(10));
    files.add(new FileSize(3));
    files.add(new FileSize(2));
    files.add(new FileSize(15));
    files.add(new FileSize(12));
    files.add(new FileSize(1));
    files.add(new FileSize(7));
}

并且我希望有累积大小= 20的组。现在上面将给出3组,每组20个。

现在我知道像Collection这样的函数存在,但它似乎只累积在其他值上。

这种分组的方法是否已存在?

1 个答案:

答案 0 :(得分:0)

在标准Java API中,没有这样的方法可以为您完成工作。你可以在互联网上搜索,如果有人提供任何做这种事情的图书馆,但我对此表示怀疑。除非您找到一些现有的库,否则您必须自己编写解决方案