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:
Java Program to Remove the Edges in a Given Cyclic Graph such that its Linear Extension can be Found
Compact Strings in Java 9
OAuth2.0 and Dynamic Client Registration
Finding Max/Min of a List or Collection
Java – Rename or Move a File
Optional trong Java 8
Hướng dẫn Java Design Pattern – Strategy
Java Program to Find the Median of two Sorted Arrays using Binary Search Approach
Spring WebClient Filters
MyBatis with Spring
Difference Between Wait and Sleep in Java
Guide to Spring Cloud Kubernetes
ArrayList trong java
Constructor Injection in Spring with Lombok
Java Program to Implement Heap
Lập trình đa luồng trong Java (Java Multi-threading)
Spring’s RequestBody and ResponseBody Annotations
Apache Commons Collections Bag
Encode a String to UTF-8 in Java
Java – Byte Array to Reader
Dockerizing a Spring Boot Application
Jackson Annotation Examples
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Java Program to Find Nearest Neighbor for Dynamic Data Set
Java Program to Implement Levenshtein Distance Computing Algorithm
Hashtable trong java
Intro to Spring Boot Starters
The HttpMediaTypeNotAcceptableException in Spring MVC
Lớp TreeMap trong Java
Notify User of Login From New Device or Location
Java Program to Implement Dijkstra’s Algorithm using Priority Queue
RegEx for matching Date Pattern in Java