Потоки в основном прославляются для каждого цикла. Обычно, когда вы видите XXX.stream()
или метод, который возвращает Stream<XXX>
, это означает «для каждой вещи в XXX
» и «Для каждого XXX ...» соответственно.
Итак, вот оно говорит "для каждой строки в Set<String>
..."
map
означает "превратить каждую вещь во что-то другое", другими словами, преобразование . С a для l oop, это похоже на псевдокод:
For Each x In set
f(x)
Next x
f
- это функция, которую вы передаете. В данном случае это getNode
.
Теперь , getNode
возвращает T
, поэтому каждый элемент в нашем исходном наборе был преобразован в T
. Последний вызов - collect
, что означает помещение всех этих элементов обратно в некоторую коллекцию или какой-либо другой объект. В этом случае мы помещаем все эти преобразованные T
обратно в новый Set
.
Весь код в псевдокоде будет:
originalSet = connections.get(node.getId())
newSet = []
For Each x In originalSet
newSet.add(x)
Next x