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:
Introduction to Spring Data MongoDB
A Guide to System.exit()
Java Program to Search Number Using Divide and Conquer with the Aid of Fibonacci Numbers
Java Program to Implement Warshall Algorithm
Java CyclicBarrier vs CountDownLatch
Java Program to Perform Optimal Paranthesization Using Dynamic Programming
Giới thiệu Google Guice – Binding
Queue và PriorityQueue trong Java
Intro to Spring Boot Starters
Java Program to Implement TreeMap API
Working With Maps Using Streams
Lớp Properties trong java
Java Program to Check Whether an Undirected Graph Contains a Eulerian Cycle
Injecting Prototype Beans into a Singleton Instance in Spring
Introduction to Spring Cloud Rest Client with Netflix Ribbon
Spring Boot Gradle Plugin
Giới thiệu Aspect Oriented Programming (AOP)
So sánh HashMap và HashSet trong Java
Guide to DelayQueue
Java Program to Represent Graph Using 2D Arrays
Spring Cloud – Bootstrapping
LinkedHashSet trong Java hoạt động như thế nào?
Spring Cloud Connectors and Heroku
Using the Not Operator in If Conditions in Java
Java Program to Implement the Vigenere Cypher
Java Program to Find Shortest Path Between All Vertices Using Floyd-Warshall’s Algorithm
Java Program to Implement Best-First Search
Guide to the Java TransferQueue
A Guide to ConcurrentMap
Guide to Spring @Autowired
Beans and Dependency Injection
Receive email by java client