Table of Contents
Phương thức forEach() là một tính năng mới của java 8. Nó là một phương thức mặc định (default method) được định nghĩa trong interface Iterable và Stream. Các lớp Collection extends từ interface Iterable có thể sử dụng vòng lặp forEach() để duyệt các phần tử.
Định nghĩa của phương thức forEach() trong Interface Iterable:
1. Ví dụ sử dụng forEach() với Map
package com.maixuanviet.forEach;
import java.util.HashMap;
import java.util.Map;
public class ForEachMapExample {
public static void main(String[] args) {
Map<Integer, String> hmap = new HashMap<Integer, String>();
hmap.put(1, "Java");
hmap.put(2, "Javascript");
hmap.put(3, "PHP");
hmap.put(4, "C#");
hmap.put(5, "C++");
// forEach to iterate and display each key and value pair of HashMap
hmap.forEach((key, value) -> System.out.println(key + " - " + value));
}
}
Output của chương trình trên như sau:
1 - Java 2 - Javascript 3 - PHP 4 - C# 5 - C++
2. Ví dụ sử dụng forEach() với List
package com.maixuanviet.forEach;
import java.util.Arrays;
import java.util.List;
public interface ForEachExample {
public static void main(String[] args) {
List<String> languages = Arrays.asList("Java", "C#", "C++", "PHP", "Javascript");
System.out.println("Iterating by passing lambda expression: ");
languages.forEach(lang -> System.out.println(lang));
System.out.println("Iterating by passing method reference: ");
languages.forEach(System.out::println);
}
}
Output của chương trình trên như sau:
Iterating by passing lambda expression: Java C# C++ PHP Javascript Iterating by passing method reference: Java C# C++ PHP Javascript
3. Ví dụ sử dụng forEachOrdered()
Phương thức forEachOrdered() được sử dụng để duyệt các phần tử theo thứ tự được quy định bởi Stream.
package com.maixuanviet.forEach;
import java.util.Arrays;
import java.util.List;
public class ForEachOrderedExample {
public static void main(String[] args) {
List<String> languages = Arrays.asList("Java", "C#", "C++", "PHP", "Javascript");
System.out.println("Iterating by passing lambda expression: ");
languages.stream().forEachOrdered(lang -> System.out.println(lang));
System.out.println("Iterating by passing method reference: ");
languages.stream().forEachOrdered(System.out::println);
}
}
Output của chương trình trên như sau:
Iterating by passing lambda expression: Java C# C++ PHP Javascript Iterating by passing method reference: Java C# C++ PHP Javascript
Related posts:
Java Program to Implement Skew Heap
Converting Between Byte Arrays and Hexadecimal Strings in Java
Java Program to Implement Repeated Squaring Algorithm
Multipart Upload with HttpClient 4
Binary Numbers in Java
Giới thiệu Java Service Provider Interface (SPI) – Tạo các ứng dụng Java dễ mở rộng
Spring Boot with Multiple SQL Import Files
Java Program to Implement Tarjan Algorithm
How to Read a File in Java
Hamcrest Collections Cookbook
Hướng dẫn Java Design Pattern – Decorator
Spring Data Reactive Repositories with MongoDB
Spring Security Authentication Provider
Java – InputStream to Reader
HttpAsyncClient Tutorial
Java Program to Perform String Matching Using String Library
Spring Cloud – Tracing Services with Zipkin
Compare Two JSON Objects with Jackson
Jackson Exceptions – Problems and Solutions
Java Program to Perform Searching Using Self-Organizing Lists
Java Program to Implement Treap
A Custom Data Binder in Spring MVC
How to Find an Element in a List with Java
Function trong Java 8
Spring Data JPA @Modifying Annotation
Semaphore trong Java
Running Spring Boot Applications With Minikube
Java Program to Find kth Largest Element in a Sequence
Java Program to Implement CopyOnWriteArraySet API
Java Program to Implement RenderingHints API
Java Timer
Generic Constructors in Java