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:
Examine the internal DNS cache
Convert Hex to ASCII in Java
Java Program to Implement Pollard Rho Algorithm
Java Program to Create a Random Linear Extension for a DAG
Hướng dẫn Java Design Pattern – Template Method
Static Content in Spring WebFlux
Hướng dẫn Java Design Pattern – Factory Method
Java Program to Implement Queue
Life Cycle of a Thread in Java
Guide To CompletableFuture
Introduction to Spring Method Security
4 tính chất của lập trình hướng đối tượng trong Java
Java 14 Record Keyword
Java Program to Implement the Alexander Bogomolny’s UnOrdered Permutation Algorithm for Elements Fro...
Java Program to Implement the Program Used in grep/egrep/fgrep
Java Program to Implement Graph Coloring Algorithm
XML Serialization and Deserialization with Jackson
Java Program to Implement LinkedHashMap API
How to Define a Spring Boot Filter?
Java Program to Implement Leftist Heap
Guide to PriorityBlockingQueue in Java
Java Program to Implement Control Table
Java Program to Implement Park-Miller Random Number Generation Algorithm
Java Program to Implement Cartesian Tree
Java Program to Test Using DFS Whether a Directed Graph is Weakly Connected or Not
A Guide to Queries in Spring Data MongoDB
Spring Boot Configuration with Jasypt
Java Program to Perform Arithmetic Operations on Numbers of Size
Java Program to Implement Rolling Hash
Getting Started with Stream Processing with Spring Cloud Data Flow
Java Program to Implement Max-Flow Min-Cut Theorem
Spring Boot: Customize the Jackson ObjectMapper