Предположим, что у нас есть список некоторых значений int (положительный и отрицательный), и у нас есть задача удвоить только положительные значения. Вот фрагмент кода, который производит желаемый результат:Функция терминала для коллекций в scala
val list: List[Int] = ....
list.filter(_ > 0).map(_ * 2)
До сих пор так хорошо, но что, если список очень большой размер N. Имеет ли программа перебирает N раз на функцию фильтра, а затем N раз на функции карте ?
Как известно Scala, когда пришло время пройти список в цикле и применить все материалы для фильтрации и отображения? Что будет результатом (в терминах перебора списка), если мы, например, сгруппируем исходный список с помощью функции идентификации (чтобы избавиться от дубликатов) и примените функцию карты?
что, если мы делаем 'partition', а затем манипулировать на двух коллекций, созданных (для например, 'zip',' map' и т. д.). Можно ли каждый раз перебирать коллекцию? – maks