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:
Quick Guide on Loading Initial Data with Spring Boot
Spring Security Custom AuthenticationFailureHandler
HashMap trong Java hoạt động như thế nào?
Java Program to Implement Rope
Java Program to Compute the Area of a Triangle Using Determinants
Spring Boot - OAuth2 with JWT
A Quick Guide to Spring MVC Matrix Variables
Java – Reader to String
An Introduction to Java.util.Hashtable Class
Java Program to Create a Balanced Binary Tree of the Incoming Data
Hướng dẫn Java Design Pattern – Proxy
Java toString() Method
Spring Boot - Flyway Database
Sử dụng JDBC API thực thi câu lệnh truy vấn dữ liệu
Redirect to Different Pages after Login with Spring Security
Hướng dẫn sử dụng String Format trong Java
Java Program to Perform Stooge Sort
Java Program to Solve any Linear Equations
New Features in Java 11
Hướng dẫn Java Design Pattern – Factory Method
Java Program to Generate All Subsets of a Given Set in the Lexico Graphic Order
Query Entities by Dates and Times with Spring Data JPA
Java Program to Implement Borwein Algorithm
Java InputStream to String
DynamoDB in a Spring Boot Application Using Spring Data
ArrayList trong java
Java Program to Implement Hash Tree
Java Program to Implement Ternary Tree
Java Program to Implement Control Table
ETL with Spring Cloud Data Flow
Spring Boot - Scheduling
A Quick Guide to Spring Cloud Consul