Phương thức forEach() trong java 8

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 Dijkstra’s Algorithm using Set
Java Program to Find Nearest Neighbor Using Linear Search
Java Program to Create the Prufer Code for a Tree
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Deploy a Spring Boot WAR into a Tomcat Server
Java Program to implement Dynamic Array
Upload and Display Excel Files with Spring MVC
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Java Program to Check if a Given Graph Contain Hamiltonian Cycle or Not
Send email with authentication
So sánh HashMap và HashSet trong Java
Batch Processing with Spring Cloud Data Flow
Simple Single Sign-On with Spring Security OAuth2
Java Program to Implement Sorted Doubly Linked List
Java Program to Find Second Smallest of n Elements with Given Complexity Constraint
Java Program to Generate Date Between Given Range
CharSequence vs. String in Java
Java Program to Create a Random Linear Extension for a DAG
Java Program to Construct K-D Tree for 2 Dimensional Data
HashMap trong Java hoạt động như thế nào?
Debug a HttpURLConnection problem
Java Program to Perform Quick Sort on Large Number of Elements
Primitive Type Streams in Java 8
Posting with HttpClient
Chuyển đổi từ HashMap sang ArrayList
Java Program to Implement Uniform-Cost Search
Một số ký tự đặc biệt trong Java
Instance Profile Credentials using Spring Cloud
How to Round a Number to N Decimal Places in Java
A Guide to EnumMap
Spring WebClient Requests with Parameters
Spring Data JPA @Query