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:
Introduction to Netflix Archaius with Spring Cloud
Java Program to Implement Depth-limited Search
Java Program to Perform Uniform Binary Search
Spring Data MongoDB – Indexes, Annotations and Converters
Test a REST API with Java
Extract network card address
New Features in Java 14
Java Program to do a Depth First Search/Traversal on a graph non-recursively
Check If a File or Directory Exists in Java
Intersection of Two Lists in Java
Predicate trong Java 8
Collection trong java
Arrays.asList vs new ArrayList(Arrays.asList())
String Initialization in Java
Using Spring ResponseEntity to Manipulate the HTTP Response
Tránh lỗi NullPointerException trong Java như thế nào?
Guide to java.util.concurrent.BlockingQueue
Java Program to Implement Triply Linked List
Lập trình đa luồng với CompletableFuture trong Java 8
Introduction to Liquibase Rollback
Feign – Tạo ứng dụng Java RESTful Client
Sử dụng JDBC API thực thi câu lệnh truy vấn dữ liệu
Java Program to Implement Weight Balanced Tree
Java Program to Use Dynamic Programming to Solve Approximate String Matching
Java Program to Implement VList
XML-Based Injection in Spring
Java Program to Implement Affine Cipher
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
A Guide to the Java LinkedList
Java Program to Check Cycle in a Graph using Graph traversal
StringBuilder vs StringBuffer in Java
Java Program to Perform Searching Using Self-Organizing Lists