Java 8 Collection
的forEach()
用法如下。
public class Main {
public static void main(String[] args) {
List<String> list = Arrays.asList("matt","john","gary");
// 使用for loop
for(int i = 0 ; i < list.size() ; i++ ) {
System.out.println(list.get(i));
}
// 使用for-each loop
for(String s : list) {
System.out.println(s);
}
// 使用Java 8 forEach()
list.forEach(new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
});
// 使用Java 8 forEach() 搭配 Lambda語法
list.forEach(s -> System.out.println(s));
// 使用Java 8 forEach() 搭配 Lambda 及 Method References語法
list.forEach(System.out::println);
}
}
上面範例中每個loop的結果都相同。
在Java 8的Iterable
介面新增了forEach()
方法,接收的參數為Consumer
介面的實作,而Consumer
是只有一個抽象方法(accept()
)的Functional Interface,所以可以用Lambda語法改寫。
如果覺得文章有幫助的話還幫忙點個Google廣告,感恩。
沒有留言:
張貼留言