Lambda pada Collection
Saat fitur Lambda keluar di Java 8, ada banyak sekali default method yang ditambahkan ke Java Collection. Beberapa ada default method yang banyak memanfaatkan fitur Lambda. Di materi ini kita akan bahas beberapa method yang memanfaatkan Lambda.
1️⃣ Iterable.forEach
Di dalam interface Iterable terdapat method forEach yang memiliki parameter Consumer, yang merupakan iterface function yang berasal dari package java.util.function, yang artinya kita dapat menggunakan ekspresi lambda terhadap method tersebut untuk menerima data.
info
📑 Baca: Functional Interface Consumer
Method forEach pada interface Iterable:
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}
Contoh penggunaan Lambda pada Collection forEach:
List<String> names = List.of("Ayu", "Novi", "Eby");
// predicate menggunakan for loop
for (var name : names) {
System.out.println(name);
}
// predicate menggunakan anonymous class
names.forEach(new Consumer<String>() {
@Override
public void accept(String value) {
System.out.println(value);
}
});
// predicate menggunakan lambda
names.forEach(value -> System.out.println(value));
// predicate menggunakan lambda method reference
names.forEach(System.out::println);