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:
Guava – Join and Split Collections
Mockito and JUnit 5 – Using ExtendWith
Java Program to Perform Right Rotation on a Binary Search Tree
ArrayList trong java
Control Structures in Java
Practical Java Examples of the Big O Notation
How to use the Spring FactoryBean?
Java Program to Implement Quick sort
Java – Reader to String
Guide to the Fork/Join Framework in Java
Đồng bộ hóa các luồng trong Java
Java Program to Represent Graph Using Incidence Matrix
Quản lý bộ nhớ trong Java với Heap Space vs Stack
Câu lệnh điều khiển vòng lặp trong Java (break, continue)
Java Program to Implement Doubly Linked List
SOAP Web service: Authentication trong JAX-WS
How to Kill a Java Thread
Java Program to Check Whether an Input Binary Tree is the Sub Tree of the Binary Tree
Java Program to Implement Max Heap
Logging a Reactive Sequence
A Guide to Java 9 Modularity
Giới thiệu java.io.tmpdir
Hướng dẫn sử dụng Java Generics
Lấy ngày giờ hiện tại trong Java
Jackson Annotation Examples
Biến trong java
Hướng dẫn Java Design Pattern – Service Locator
Java Program to Solve the Fractional Knapsack Problem
Apache Commons Collections Bag
Java toString() Method
Java Program to Describe the Representation of Graph using Adjacency List
Hướng dẫn sử dụng Printing Service trong Java