Ich spiele mit Java 8 und ich weiß, dass dies möglich sein muss durch Lesen der Dokumentation, ich kann einfach nicht herausfinden, wie es geht.Konvertieren Sie die Liste <Long> zu Karte <Long, Long>, die Vorkommen
Ich habe folgende Arbeits Code:
long factorProduct = LongStream.rangeClosed(1, maxFactor)
.filter(this::isOptimalFactor)
.reduce((i, j) -> i * j)
.getAsLong();
List<Long> primeFactors = primeFactors(factorProduct);
Wesentlicher Teil ist, dass ich ein List<Long>
dass kann haben Duplikate einige Long
Zahlen auf.
Jetzt möchte ich es in eine Map<Long, Long>
konvertieren mit als Schlüssel das Element und als Wert die Vorkommen. Ich
dachte, dass:
Map<Long, Long> primeFactorCount = primeFactors.stream()
.collect(Collectors.counting());
funktionieren würde, aber es funktioniert nicht. Ich habe die Beispiele in the java.util.stream.Collectors documentation nachgeschlagen.
Wie muss ich diese Funktionen verwenden?
Ich habe es schon einmal versucht, aber gab einen Fehler, stellt sich heraus, ich hatte vergessen, java.util.Map automatisch zu importieren. – skiwi