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 TreeMap vs HashMap
Java Program to Find MST (Minimum Spanning Tree) using Kruskal’s Algorithm
Tìm hiểu cơ chế Lazy Evaluation của Stream trong Java 8
Comparing getPath(), getAbsolutePath(), and getCanonicalPath() in Java
Guide to Spring Cloud Kubernetes
Period and Duration in Java
OAuth2 for a Spring REST API – Handle the Refresh Token in Angular
Converting Between Byte Arrays and Hexadecimal Strings in Java
Java Program to Delete a Particular Node in a Tree Without Using Recursion
ArrayList trong java
Fixing 401s with CORS Preflights and Spring Security
HandlerAdapters in Spring MVC
Convert Time to Milliseconds in Java
Quick Guide to the Java StringTokenizer
Remove All Occurrences of a Specific Value from a List
Guide to Mustache with Spring Boot
Request a Delivery / Read Receipt in Javamail
Java Program to Perform Inorder Non-Recursive Traversal of a Given Binary Tree
How to Get All Dates Between Two Dates?
Java Program to Implement HashMap API
Validate email address exists or not by Java Code
Concatenating Strings In Java
Java Program to Implement Strassen Algorithm
Java Program to Perform Finite State Automaton based Search
Java Program to Implement Doubly Linked List
Java Program to Construct an Expression Tree for an Prefix Expression
Explain about URL and HTTPS protocol
Custom Error Pages with Spring MVC
Java Program to Perform Searching Using Self-Organizing Lists
Spring Data Java 8 Support
Spring @RequestMapping New Shortcut Annotations
Convert Hex to ASCII in Java