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:
So sánh ArrayList và Vector trong Java
Comparing Objects in Java
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Spring Boot Integration Testing with Embedded MongoDB
Hướng dẫn Java Design Pattern – Facade
Java Program to Implement Aho-Corasick Algorithm for String Matching
Java Program to Implement Selection Sort
Java Program to Generate All Pairs of Subsets Whose Union Make the Set
Extra Login Fields with Spring Security
Spring Security – security none, filters none, access permitAll
Spring Boot - Google Cloud Platform
Converting Strings to Enums in Java
Java Program to Implement D-ary-Heap
Java Program to Implement Maximum Length Chain of Pairs
Xây dựng ứng dụng Client-Server với Socket trong Java
Sắp xếp trong Java 8
Java Program to Implement RoleList API
Java Program to find the maximum subarray sum using Binary Search approach
Rest Web service: Filter và Interceptor với Jersey 2.x (P2)
Java Program to Implement Hopcroft Algorithm
Set Interface trong Java
Convert Hex to ASCII in Java
Spring Security 5 – OAuth2 Login
Java Concurrency Interview Questions and Answers
Java Program to Implement LinkedBlockingDeque API
Lớp HashMap trong Java
Concurrent Test Execution in Spring 5
Java Program to Generate a Sequence of N Characters for a Given Specific Case
Java Program to Find Maximum Element in an Array using Binary Search
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
Java Program to Implement Gale Shapley Algorithm
Java Program to Implement Segment Tree