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 Implement Network Flow Problem
Java Program to Perform Naive String Matching
Giới thiệu Java Service Provider Interface (SPI) – Tạo các ứng dụng Java dễ mở rộng
Marker Interface trong Java
Java Program to Implement Gaussian Elimination Algorithm
OAuth2.0 and Dynamic Client Registration
A Guide to the Java LinkedList
Java Program to Implement Pollard Rho Algorithm
XML Serialization and Deserialization with Jackson
Java Program to Implement Disjoint Set Data Structure
Spring Boot - Twilio
Spring Cloud AWS – RDS
Guide to Java 8 groupingBy Collector
Lập trình đa luồng trong Java (Java Multi-threading)
Concatenating Strings In Java
Lập trình mạng với java
Java Program to Find the Peak Element of an Array O(n) time (Naive Method)
New Features in Java 10
Finding the Differences Between Two Lists in Java
Tính kế thừa (Inheritance) trong java
Java Program to Find Minimum Element in an Array using Linear Search
Java Program to Check Multiplicability of Two Matrices
Java Program to Describe the Representation of Graph using Adjacency List
Spring Security 5 – OAuth2 Login
Java Program to Implement Singly Linked List
A Guide to @RepeatedTest in Junit 5
Working with Network Interfaces in Java
Primitive Type Streams in Java 8
Introduction to PCollections
Chương trình Java đầu tiên
Java Program to Generate a Graph for a Given Fixed Degree Sequence
Java Program to Implement Efficient O(log n) Fibonacci generator