Bir geçişte (bazı karşılaştırıcılara dayalı olarak) hem minimum hem de maksimum değerini ayıklamak için kısa bir yol var mı?Java 8 akışının minimum ve maksimum değerini elde etmenin özlü yolu
bireysel min almak için birçok yol ve maksimum değerleri Orada görünüyor, yoksa örneğin bir geçici nesnesine akışı sıralayabilirsiniz:
List<T> sorted = Stream.of(...).sorted().collect(Collectors.toList());
T min = sorted.get(0);
T max = sorted.get(sorted.size() - 1);
Ama bu özlü değildir ve tahsis gerektirir geçici nesne Geçici bir nesne ayırmamayı veya akıştan iki geçiş yapmayı tercih ederim. Alternatif var mı?
Pair<T> extent = Stream.of(...).???
sen [IntSummaryStatistics] gibi bir kollektörü düşündünüz mü (https://docs.oracle.com/javase/8/docs/api/java/util/IntSummaryStatistics.html)? Kalıbın izini takip edebilirsiniz, bu sayılarla ilgili değildir. –