Вы можете использовать DoubleSummaryStatistics
для max
и min
вашего атрибута значения.
DoubleSummaryStatistics summaryStatistics = list // avoid initialising list as 'null'
.stream()
.limit(13)
.mapToDouble(MyC::getVal)
.summaryStatistics();
double max = summaryStatistics.getMax();
double min = summaryStatistics.getMin();
Что касается пользовательских значений по умолчанию, к которым вы обращаетесь, выможет использовать условную логику, такую как:
double max = getMaxDefault();
double min = getMinDefault();
if (!list.isEmpty()) {
DoubleSummaryStatistics summaryStatistics = list
.stream()
.limit(13)
.mapToDouble(MyC::getVal)
.summaryStatistics();
max = summaryStatistics.getMax();
min = summaryStatistics.getMin();
}