Есть ли сжатый способ извлечь как минимальное, так и максимальное значение потока (на основе некоторого компаратора) за один проход?
Кажется, существует много способов получить значения min и max отдельно или я могу сортировать поток во временном объекте, например:
List<T> sorted = Stream.of(...).sorted().collect(Collectors.toList());
T min = sorted.get(0);
T max = sorted.get(sorted.size() - 1);
Но это не кратким и требует выделения временного объекта. Я бы предпочел не выделять временный объект или сделать два прохода через поток. Есть ли альтернатива?
Pair<T> extent = Stream.of(...).???