2015-07-29 1 views
2

До тех пор, в том числе Java 7 это было обычно, чтобы пройти через список с этим кодом:Java 8: Как пройти через лист с лямбда-выражения

for (String s : MapperContent.ZGONC) { 
    mapper.mapZgonc(s); 
} 

С Java 8 на есть лямбда-выражения доступны. Моя IDE, NetBeans, говорит мне, конечно, как подсказку, использовать «функциональную операцию».

Как я могу пройти через этот список с «новым стилем кодирования»?

+0

Это зависит от того, что вы хотите сделать с вашим списком. – Eran

+1

'yourList.forEach (element -> System.out.println (element));' – rzysia

+1

@rzysia или проще: 'yourList.forEach (System.out :: println);' – Bohemian

ответ

7

Попробуйте это:

MapperContent.ZGONC.forEach(mapper::mapZgonc); 
+0

Это работает просто отлично. У вас есть хорошая ссылка или ссылка, где можно найти стиль кодирования с выражением lamda? –

+2

@ max.mustermann1 это не вопрос стиля кодирования _at all_; это вопрос понимания различных интерфейсов, используемых в потоковых операциях, и тот факт, что лямбда может быть ссылкой на метод. Прежде всего, посмотрите, что .forEach() принимает в качестве аргумента. Затем исследуйте дальше. – fge

+0

Найдено хорошие пояснения по этой ссылке: http://thediscoblog.com/blog/2014/03/25/java-8-s-functional-fomentation/ –

0

Если вы хотите просто выполнить некоторые операции, в зависимости от вашего списка значений, которые вы можете сделать это, как показано ниже:

Stream.of(MapperContent.ZGONC).forEach(el -> { 
    mapper.mapZgonc(el); 
}); 

поток API также имеет другие функции ПОЛЕЗНЫЕ как карта , уменьшать, фильтровать, собирать.