Ich habe eine Liste von Integer
list
und von der list.stream()
ich den Maximalwert haben möchte. Was ist der einfachste Weg? Benötige ich einen Komparator?
java-8
java-stream
pcbabu
quelle
quelle
Collections.max
..Antworten:
Sie können den Stream entweder konvertieren in
IntStream
:Oder geben Sie den natürlichen Ordnungskomparator an:
Oder verwenden Sie Reduktionsvorgang:
Oder verwenden Sie Collector:
Oder verwenden Sie IntSummaryStatistics:
quelle
int
, dannmapToInt(...).max().getAsInt()
oderreduce(...).get()
zu den Methodenkettenquelle
Eine andere Version könnte sein:
quelle
Richtiger Code:
oder
quelle
Mit Stream und reduzieren
quelle
Integer::max
aber das ist genau das gleiche).Sie können auch den folgenden Code verwenden:
Eine andere Alternative:
quelle
quelle
Sie könnten int max = Stream.of (1,2,3,4,5) .reduce (0, (a, b) -> Math.max (a, b)) verwenden; funktioniert sowohl für positive als auch für negative Zahlen
quelle
Integer.MIN_VALUE
, dass es mit negativen Zahlen funktioniert.