Есть матрица:
List<ArrayList<Double>> matr;
требуется в матрице найти среднее значение, без стримов я это делаю так:
public Double averageMatr() {
Double sum=0.0;
for (ArrayList<Double> list : matr) {
for (Double item : list) {
sum+=item;
}
}
return sum/matr.size()*countColumn;
}
Подскажите как можно этот цикл записать в стримах?
Пытался сделать вот так:
public Double averageMatr() {
Double sum=0.0;
for (ArrayList<Double> list : matr) {
sum+= list.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
}
return sum/matr.size();
}
Но так получается неверный результат. со строк находится среднее значение, и дальше берется среднее значение из средних значений. То есть неверно.
Это делается очень просто с помощью метода Stream.flatMap
:
matr.stream().flatMap(Collection::stream).mapToDouble(d -> d).average()
Всем доброго времени сутокПытаюсь сделать окно чата через ListBox , DataTemplate, DataTemplateSelector
Нужно создать несколько рядов keyboard кнопок с разным их количеством в ряду для TelegramКак сделать один ряд понятно, но не пойму как сделать из этого...
Есть программа по типу игры лабиринта, реализована в windows formsНеобходимо сделать так, чтобы не весь лабиринт был виден сразу (как на рисунке)