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:
Sending Emails with Java
Java Program to Implement Nth Root Algorithm
Java Program to Construct K-D Tree for 2 Dimensional Data
Setting a Request Timeout for a Spring REST API
Lớp Collections trong Java (Collections Utility Class)
LinkedList trong java
Spring MVC Setup with Kotlin
Sao chép các phần tử của một mảng sang mảng khác như thế nào?
Java Program to Represent Graph Using Incidence Matrix
Sắp xếp trong Java 8
Tips for dealing with HTTP-related problems
Convert Character Array to String in Java
Java Program to Implement Bubble Sort
Spring Security with Maven
How to Change the Default Port in Spring Boot
Java Program to Check if a Directed Graph is a Tree or Not Using DFS
Hướng dẫn sử dụng Lớp FilePermission trong java
Java Program to Find Nearest Neighbor for Dynamic Data Set
Java Program to Implement Tarjan Algorithm
Quick Guide to Spring Bean Scopes
Java Program to Implement Suffix Array
Java Program to Implement Miller Rabin Primality Test Algorithm
Spring MVC Tutorial
Stack Memory and Heap Space in Java
The XOR Operator in Java
Introduction to Spring Data JDBC
Fixing 401s with CORS Preflights and Spring Security
Quick Guide to Spring Controllers
Receive email using POP3
Finding the Differences Between Two Lists in Java
Java Program to Implement TreeSet API
Java Program to Implement Interpolation Search Algorithm