HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Все операции над списками можно свести к трем основным типам:</p>
1 <p>Все операции над списками можно свести к трем основным типам:</p>
2 <ul><li>Отображение.</li>
2 <ul><li>Отображение.</li>
3 <li>Фильтрация.</li>
3 <li>Фильтрация.</li>
4 <li>Агрегация.</li>
4 <li>Агрегация.</li>
5 </ul><p>Для примеров в этом уроке мы будем использовать класс User с таким определением:</p>
5 </ul><p>Для примеров в этом уроке мы будем использовать класс User с таким определением:</p>
6 <h2>Отображение (map)</h2>
6 <h2>Отображение (map)</h2>
7 <p>Отображение - это операция, в которой на основе одного списка, формируется другой, с таким же количеством элементов. Например, у нас есть список пользователей, из которого мы хотим получить список возрастов этих пользователей для каких-то дальнейших вычислений или формирования данных по запросу. Ниже код, выполняющий эту задачу:</p>
7 <p>Отображение - это операция, в которой на основе одного списка, формируется другой, с таким же количеством элементов. Например, у нас есть список пользователей, из которого мы хотим получить список возрастов этих пользователей для каких-то дальнейших вычислений или формирования данных по запросу. Ниже код, выполняющий эту задачу:</p>
8 <h2>Фильтрация (filter)</h2>
8 <h2>Фильтрация (filter)</h2>
9 <p>Фильтрация - это операция, в результате которой на основе одного списка, формируется другой, с элементами, соответствующими условию фильтрации. Например, мы хотим сформировать список пользователей, которые родились после 2000 года.</p>
9 <p>Фильтрация - это операция, в результате которой на основе одного списка, формируется другой, с элементами, соответствующими условию фильтрации. Например, мы хотим сформировать список пользователей, которые родились после 2000 года.</p>
10 <p>Фильтрация в чистом виде работает так:</p>
10 <p>Фильтрация в чистом виде работает так:</p>
11 <ul><li>Новый список по размеру либо такой же, как и исходный, либо меньше, вплоть до того, что он может быть пустым.</li>
11 <ul><li>Новый список по размеру либо такой же, как и исходный, либо меньше, вплоть до того, что он может быть пустым.</li>
12 <li>Фильтрация не меняет сами элементы, она только убирает неподходящие. Изменение элементов возможно только тогда, когда фильтрация объединена - например, с отображением.</li>
12 <li>Фильтрация не меняет сами элементы, она только убирает неподходящие. Изменение элементов возможно только тогда, когда фильтрация объединена - например, с отображением.</li>
13 </ul><h2>Агрегация</h2>
13 </ul><h2>Агрегация</h2>
14 <p>Агрегация - это операция нахождения какого-то значения, вычисленного на основе анализа всей коллекции. К агрегирующим операциям традиционно относят:</p>
14 <p>Агрегация - это операция нахождения какого-то значения, вычисленного на основе анализа всей коллекции. К агрегирующим операциям традиционно относят:</p>
15 <ul><li>Нахождение максимального или минимального значения</li>
15 <ul><li>Нахождение максимального или минимального значения</li>
16 <li>Нахождение суммы</li>
16 <li>Нахождение суммы</li>
17 <li>Нахождение среднего значения и медианы</li>
17 <li>Нахождение среднего значения и медианы</li>
18 </ul><p>Но агрегация не ограничивается только такими операциями. Более того, результатом агрегации может быть сложная структура, а не простое значение. Например, мы можем захотеть сгруппировать всех пользователей по году рождения. Несмотря на различия, все эти операции сводятся к полному анализу элементов коллекции, так как результат агрегирующей операции зависит от каждого элемента.</p>
18 </ul><p>Но агрегация не ограничивается только такими операциями. Более того, результатом агрегации может быть сложная структура, а не простое значение. Например, мы можем захотеть сгруппировать всех пользователей по году рождения. Несмотря на различия, все эти операции сводятся к полному анализу элементов коллекции, так как результат агрегирующей операции зависит от каждого элемента.</p>
19 <p>Для примера посчитаем самый ранний год рождения:</p>
19 <p>Для примера посчитаем самый ранний год рождения:</p>
20  
20