Mam listę Integer
list
i od list.stream()
Chcę maksymalnej wartości. Jaki jest najprostszy sposób? Czy potrzebuję komparatora?jak znaleźć maksymalną wartość z Integer przy użyciu strumienia w java 8?
Odpowiedz
Można też przekształcić strumień IntStream
:
OptionalInt max = list.stream().mapToInt(Integer::intValue).max();
lub określić porównawczy naturalnego porządku:
Optional<Integer> max = list.stream().max(Comparator.naturalOrder());
Albo użyć zmniejszyć działanie:
Optional<Integer> max = list.stream().reduce(Integer::max);
Albo użyć kolektora:
Optional<Integer> max = list.stream().collect(Collectors.maxBy(Comparator.naturalOrder()));
lub użyj IntSummaryStatistics:
int max = list.stream().collect(Collectors.summarizingInt(Integer::intValue)).getMax();
int max = list.stream().reduce(Integer.MIN_VALUE, (a, b) -> Integer.max(a, b));
Działa to tylko, jeśli wszystkie twoje wartości są pozytywne. Użyj wartości Integer.MIN_VALUE zamiast 0 w reduce(). – rolika
Inna wersja mogą być:
int maxUsingCollectorsReduce = list.stream().collect(Collectors.reducing(Integer::max)).get();
Prawidłowy kod:
int max = list.stream().reduce(Integer.MIN_VALUE, (a, b) -> Integer.max(a, b));
lub
int max = list.stream().reduce(Integer.MIN_VALUE, Integer::max);
Można użyć int max = strumień.of (1,2,3,4,5) .reduce (0, (a, b) -> Math.max (a, b)); działa dla liczb dodatnich i ujemnych
To nie działa dla negatywów. – shmosel
- 1. dekodowanie strumienia plików przy użyciu UTF-8
- 2. Jak znaleźć maksymalną wartość w słowniku Swift?
- 3. Jak znaleźć maksymalną wartość w tabeli
- 4. Jak znaleźć maksymalną wartość nieznanego typu całkowitego?
- 5. Znalezienie indeks wiersza zawierającego maksymalną wartość przy użyciu R
- 6. Jak znaleźć maksymalną wartość zestawu zmiennych?
- 7. Jak uzyskać maksymalną wartość unikalnej kolumny identyfikacyjnej przy użyciu LINQ
- 8. Jak utworzyć dwuwymiarową tablicę ze strumienia w Java 8?
- 9. Znajdź maksymalną wartość na liście rozwijanej przy użyciu jQuery?
- 10. Zastąp tekst w pliku przy użyciu Stream- Java 8
- 11. Znaleźć maksymalną wartość dolną scrollTop na div?
- 12. Pętle zagnieżdżone Java 8 do strumienia
- 13. Jak znaleźć poziomą wartość maksymalną w 256-bitowym wektorze AVX
- 14. Java 8 Filter Array przy użyciu Lambda
- 15. Java 8 Lambdas: Mapowanie strumienia do typu Integer, a następnie wywoływanie sum() nie będzie kompilować
- 16. Jak przechwycić listę usuniętych elementów z Java 8 Filtrowanie strumienia?
- 17. Jak znaleźć maksymalną wartość każdej kolumny w tabeli?
- 18. Java 8: scalić list ze strumienia API
- 19. Znajdź wszystkie indeksy pozycji na liście przy użyciu strumienia API
- 20. Jak znaleźć indeks tablicy, która ma maksymalną wartość
- 21. Znajdź maksymalną i minimalną wartość każdej kolumny, a następnie znaleźć maksymalną i minimalną wartość każdego wiersza
- 22. Zbieraj na ListMultiMapę Guawy przy użyciu strumieni Java 8
- 23. Niejednoznaczność konstruktora przy użyciu varargs w java 8
- 24. Jak atomicznie zaktualizować maksymalną wartość?
- 25. Jak znaleźć minimalny wynik każdego użytkownika z listy map wykorzystujących Java 8 strumień
- 26. Wymuszanie java 8 konwencje użyciu Checkstyle
- 27. Odbieranie strumienia RTSP przy użyciu biblioteki FFMPEG
- 28. Jak znaleźć maksymalną i minimalną wartość w tablicy liczb całkowitych w Perlu?
- 29. Jak uzyskać maksymalną wartość mocy samego węzła w XSLT
- 30. uzyskać maksymalną wartość w mangusta
Przeczytaj javadoc: http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#max-java.util.Comparator -, http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html#naturalOrder-- –
Możliwe, że masz powody, aby używać strumienia, ale nie zapomnij o kolekcjach. max' .. –