Мне просто потребовалось некоторое время, чтобы начать изучать шум java-8 о потоках и лямбдах. Меня удивило, что вы не можете применять операции Stream, такие как .map()
, .filter()
непосредственно на java.util.Collection
. Существует ли техническая причина, по которой интерфейс java.util.Collection
не был расширен с помощью
по умолчанию реализации этих операций Stream?
Пойдем немного, я вижу множество примеров кодирования людей по шаблону:
List<String> list = someListExpression;
List<String> anotherList = list.stream().map(x -> f(x)).collect(Collectors.toList());
который становится очень неуклюжим, если в вашем коде есть много этих потоков. Поскольку .stream()
и .collect()
полностью не соответствуют тому, что вы хотите выразить, вы хотели бы сказать:
List<String> list = someListExpression;
List<String> anotherList = list.map(x -> f(x));