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:
Guide to the Volatile Keyword in Java
Java Program for Douglas-Peucker Algorithm Implementation
Static Content in Spring WebFlux
Java – Generate Random String
Hướng dẫn sử dụng Printing Service trong Java
Spring Security Login Page with React
Java Program to Check Cycle in a Graph using Graph traversal
Immutable Objects in Java
Lập trình đa luồng với Callable và Future trong Java
Java Program to Implement Cartesian Tree
Java Program to Implement Merge Sort Algorithm on Linked List
Java Program to implement Dynamic Array
Java Program to Implement Strassen Algorithm
Java Program to Permute All Letters of an Input String
Login For a Spring Web App – Error Handling and Localization
Generic Constructors in Java
Java Program to Implement Coppersmith Freivald’s Algorithm
Working with Kotlin and JPA
Getting a File’s Mime Type in Java
New in Spring Security OAuth2 – Verify Claims
The HttpMediaTypeNotAcceptableException in Spring MVC
A Guide to Java 9 Modularity
Spring RequestMapping
Generate Spring Boot REST Client with Swagger
Java Program to Find Median of Elements where Elements are Stored in 2 Different Arrays
Java Program to Implement Fermat Primality Test Algorithm
So sánh ArrayList và Vector trong Java
Removing all Nulls from a List in Java
The Thread.join() Method in Java
Java Program to Implement Hash Tables chaining with Singly Linked Lists
Giới thiệu luồng vào ra (I/O) trong Java
Java Program to Generate Random Hexadecimal Byte