Java ArrayDeque forEach()方法
ArrayDeque的 forEach() 方法是继承自java.lang.Iterable接口。如果该方法指定了迭代的顺序,那么该操作将按照迭代的顺序进行。方法遍历ArrayDeque的Iterable中的每个元素,直到所有的元素都被方法处理完或者发生异常。由操作抛出的异常会传递给调用者。
语法
public void forEach(Consumer<? super E> action)
参数: 该方法接受一个参数名称 action ,表示对每个元素要进行的操作。
返回: 该方法返回Nothing。
异常: 如果指定的动作为空,该方法会抛出NullPointerException。
下面的程序说明了ArrayDeque的forEach()方法。
例1: 演示ArrayDeque的forEach()方法,ArrayDeque包含一个字符串值的队列。
// Java Program Demonstrate forEach()
// method of ArrayDeque
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an ArrayDeque
// which contains string values
ArrayDeque<String> cities = new ArrayDeque<String>();
// Add Strings to list
cities.add("Kolkata");
cities.add("Delhi");
cities.add("Bombay");
cities.add("Pune");
// forEach method of ArrayDeque and
// print city names
cities.forEach((n) -> System.out.println(n));
}
}
输出。
Kolkata
Delhi
Bombay
Pune
例2: 演示ArrayDeque上的forEach()方法,ArrayDeque包含对象队列。
// Java Program Demonstrate forEach()
// method of ArrayDeque
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an ArrayDeque which going to
// contains a list of Objects
ArrayDeque<batch> list = new ArrayDeque<batch>();
// Add Objects to list
list.add(new batch("CSE", 67));
list.add(new batch("ECE", 57));
list.add(new batch("IT", 90));
list.add(new batch("ME", 78));
// print result
System.out.println("list of Objects:");
// forEach method of ArrayDeque and
// print student names
list.forEach((n) -> print(n));
}
// printing details of object
public static void print(batch n)
{
System.out.println("*******************************");
System.out.println("Batch Name is " + n.name);
System.out.println("No of Students are " + n.noOfStudents);
}
}
// create a class
class batch {
String name;
int noOfStudents;
batch(String name, int noOfStudents)
{
this.name = name;
this.noOfStudents = noOfStudents;
}
}
输出。
list of Objects:
*******************************
Batch Name is CSE
No of Students are 67
*******************************
Batch Name is ECE
No of Students are 57
*******************************
Batch Name is IT
No of Students are 90
*******************************
Batch Name is ME
No of Students are 78
例3: 演示ArrayDeque上forEach()方法的NullPointerException。
// Java Program Demonstrate forEach()
// method of ArrayDeque
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an ArrayDeque
// which contains string values
ArrayDeque<String> cities = new ArrayDeque<String>();
// Add Strings to list
cities.add("Kolkata");
cities.add("Delhi");
cities.add("Bombay");
cities.add("Pune");
try {
// forEach method of ArrayDeque and
// print city names
cities.forEach(null);
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
输出。
Exception: java.lang.NullPointerException
参考资料:
https://docs.oracle.com/javase/10/docs/api/java/util/ArrayDeque.html#forEach(java.util.function.Consumer)。
极客教程