2016-09-01 1 views
0

Ich habe eine Sammlung von Objekten, lassen Sie uns einfach Dateien sagen, und ich möchte sie durch eine maximale Gesamtgröße der Dateien in einer Gruppe gruppieren. Aber ich würde gerne die kleinsten Nummerngruppen finden.Gruppierung, um die kleinste Anzahl von Gruppen durch eine Summierung der Werte zu erhalten

Jetzt kann sagen, dass die Liste des Objekts wie diese

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)); 
} 

sieht Und das mag ich Gruppen haben, indem sie mit dem akkumuliert size = 20.en Nun über die drei Gruppen mit 20 in jedem geben würde.

Jetzt weiß ich, dass Funktionen wie Collection existieren, aber es scheint nur über andere Werte zu akkumulieren.

Gibt es bereits eine Methode für diese Gruppierung?

Antwort

0

In der Standard-Java-API gibt es keine solche Methode, die die Aufgabe für Sie erledigen würde. Sie können im Internet suchen, wenn jemand irgendeine Bibliothek zur Verfügung stellt, die so etwas tut, aber ich bezweifle es. Wenn Sie keine vorhandene Bibliothek finden, müssen Sie die Lösung selbst schreiben

+0

Probleme wie diese sind nicht ungewöhnlich, so ist es durchaus möglich, eine Websuche wird etwas auftauchen. Glückliches Suchen. Oder Codierung, wenn es so aussieht. –

Verwandte Themen