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 Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Logout in an OAuth Secured Application
Java Program to Implement the linear congruential generator for Pseudo Random Number Generation
Spring Security OAuth2 – Simple Token Revocation
Hướng dẫn Java Design Pattern – Intercepting Filter
Bootstrapping Hibernate 5 with Spring
ExecutorService – Waiting for Threads to Finish
Removing all duplicates from a List in Java
Spring Boot - Introduction
Java Program to Check the Connectivity of Graph Using BFS
Java Program to implement Bit Set
Java Program to Implement Merge Sort on n Numbers Without tail-recursion
Convert a Map to an Array, List or Set in Java
Using JWT with Spring Security OAuth (legacy stack)
Java Program to Perform Uniform Binary Search
Java 8 – Powerful Comparison with Lambdas
Introduction to Thread Pools in Java
Java Program to Implement Euclid GCD Algorithm
Immutable Map Implementations in Java
Java Program to Implement Strassen Algorithm
Convert Hex to ASCII in Java
Java Program to Solve Knapsack Problem Using Dynamic Programming
XML Serialization and Deserialization with Jackson
Apache Tiles Integration with Spring MVC
Java Program to Check whether Graph is a Bipartite using DFS
Configure a RestTemplate with RestTemplateBuilder
A Guide to Spring Boot Admin
Java Program to Implement Bellman-Ford Algorithm
Java Program to Implement Binomial Heap
HashSet trong Java hoạt động như thế nào?
Java Program to Implement Hash Tables Chaining with Doubly Linked Lists
Spring REST API with Protocol Buffers