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 Check if any Graph is Possible to be Constructed for a Given Degree Sequence
Java Program to Perform Searching Based on Locality of Reference
Lớp Properties trong java
How to Read a Large File Efficiently with Java
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
Java Program to Emulate N Dice Roller
Semaphore trong Java
Java Program to Implement Hash Trie
Java Program to Implement ConcurrentSkipListMap API
Java Program to Perform Finite State Automaton based Search
Java Program to Solve the 0-1 Knapsack Problem
Write/Read cookies using HTTP and Read a file from the internet
Java Program to Implement Bubble Sort
Converting Java Date to OffsetDateTime
Prevent Cross-Site Scripting (XSS) in a Spring Application
How to Manually Authenticate User with Spring Security
Guide to CopyOnWriteArrayList
Number Formatting in Java
Java Program to Create a Minimal Set of All Edges Whose Addition will Convert it to a Strongly Conne...
Java Program to Implement LinkedBlockingQueue API
MyBatis with Spring
How to Remove the Last Character of a String?
A Guide to LinkedHashMap in Java
Java Program to Implement the String Search Algorithm for Short Text Sizes
Java Program to Implement Stein GCD Algorithm
Java Program to Generate All Subsets of a Given Set in the Gray Code Order
Injecting Prototype Beans into a Singleton Instance in Spring
Constructor Injection in Spring with Lombok
Spring Boot - Admin Client
Use Liquibase to Safely Evolve Your Database Schema
Java Program to Check Cycle in a Graph using Topological Sort
Show Hibernate/JPA SQL Statements from Spring Boot