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:
Hướng dẫn sử dụng Lớp FilePermission trong java
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
Lập trình mạng với java
Java Program to Perform Cryptography Using Transposition Technique
Java – Rename or Move a File
A Guide to TreeMap in Java
Spring Web Annotations
Java – Create a File
Request Method Not Supported (405) in Spring
Java Program to Implement Find all Back Edges in a Graph
A Quick JUnit vs TestNG Comparison
Explain about URL and HTTPS protocol
OAuth2 for a Spring REST API – Handle the Refresh Token in Angular
Spring Cloud Bus
Testing an OAuth Secured API with Spring MVC
Tránh lỗi NullPointerException trong Java như thế nào?
Một số ký tự đặc biệt trong Java
Java Program to Implement Ternary Tree
Functional Interface trong Java 8
Java Program to Implement Shoelace Algorithm
Java Program to Generate Random Numbers Using Multiply with Carry Method
Spring Boot - Quick Start
Tiêu chuẩn coding trong Java (Coding Standards)
Java Program to Implement Binary Heap
Java Program to Implement LinkedBlockingDeque API
Check If a String Is Numeric in Java
LinkedHashSet trong Java hoạt động như thế nào?
Làm thế nào tạo instance của một class mà không gọi từ khóa new?
Comparing Strings in Java
Java Program to Check if a Directed Graph is a Tree or Not Using DFS
How to Change the Default Port in Spring Boot
Java Program to Implement Double Ended Queue