Как найти сумму элементов в массиве типа данных

Чтобы ответить на ваш отредактированный вопрос:

Копирование вложенных структур данных называется глубоким копированием . Для этого в Python используйте deepcopy() в модуле copy .

4
задан fastcodejava 17 January 2019 в 14:09
поделиться

2 ответа

Вы можете использовать операцию reduce:

Arrays.stream(info).reduce((s1, s2) -> s1.size + s2.size);

Или sum, как показано @nullpointer:

Arrays.stream(info).mapToInt(StackInfo::getSize).sum();
0
ответ дан fastcodejava 17 January 2019 в 14:09
поделиться

Вы, похоже, ищете операцию sum, а не count, которая потребует от вас преобразования потока в основном в IntStream . Вы можете обновить свой код:

private int numberOfElementsStream(StackInfo[] info) {
    return Arrays.stream(info)    // Stream<StackInfo>
            .mapToInt(sd -> sd.size)   //IntStream of their size
            .sum();   // sum of all
}
0
ответ дан Naman 17 January 2019 в 14:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: