J'ai une liste de Integer listet de list.stream()je veux la valeur maximale. Quelle est la manière la plus simple? Ai-je besoin d'un comparateur?
Collections.max..
                J'ai une liste de Integer listet de list.stream()je veux la valeur maximale. Quelle est la manière la plus simple? Ai-je besoin d'un comparateur?
Collections.max..
                Réponses:
Vous pouvez soit convertir le flux en IntStream:
OptionalInt max = list.stream().mapToInt(Integer::intValue).max();Ou spécifiez le comparateur d'ordre naturel:
Optional<Integer> max = list.stream().max(Comparator.naturalOrder());Ou utilisez l'opération de réduction:
Optional<Integer> max = list.stream().reduce(Integer::max);Ou utilisez le collecteur:
Optional<Integer> max = list.stream().collect(Collectors.maxBy(Comparator.naturalOrder()));Ou utilisez IntSummaryStatistics:
int max = list.stream().collect(Collectors.summarizingInt(Integer::intValue)).getMax();int, alors mapToInt(...).max().getAsInt()ou   reduce(...).get()les chaînes de méthodes
                    Une autre version pourrait être:
int maxUsingCollectorsReduce = list.stream().collect(Collectors.reducing(Integer::max)).get();Code correct:
int max = list.stream().reduce(Integer.MIN_VALUE, (a, b) -> Integer.max(a, b));ou
int max = list.stream().reduce(Integer.MIN_VALUE, Integer::max);Avec stream et réduire
Optional<Integer> max = list.stream().reduce(Math::max);Integer::maxmais c'est exactement la même chose).
                    int value = list.stream().max(Integer::compareTo).get();
System.out.println("value  :"+value );