Java中的ArrayDeque forEach()方法
ArrayDeque的 forEach() 方法是从接口java.lang.Iterable继承而来的。如果该方法指定了迭代顺序,则按照迭代顺序执行操作。方法遍历ArrayDeque的每个元素,直到方法处理完所有元素或发生异常。由操作引发的异常将传递给调用者。
语法:
public void forEach(Consumer<? super E> action)
参数: 该方法接受一个名称为 action 的参数,该参数表示要对每个元素执行的操作。
返回值: 该方法不返回任何内容。
异常: 如果指定的操作为null,则该方法会抛出NullPointerException异常。
下面的程序演示了ArrayDeque的forEach()方法:
例1: 演示ArrayDeque上的forEach()方法,其中包含一个String值队列。
// Java程序演示了ArrayDeque的forEach()方法
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建一个包含字符串值的ArrayDeque
ArrayDeque<String> cities = new ArrayDeque<String>();
// 添加字符串到列表中
cities.add("Kolkata");
cities.add("Delhi");
cities.add("Bombay");
cities.add("Pune");
// 使用ArrayDeque的forEach方法和
// 打印城市名称
cities.forEach((n) -> System.out.println(n));
}
}
Kolkata
Delhi
Bombay
Pune
例2: 演示ArrayDeque上的forEach()方法,其中包含对象队列。
// Java程序演示了ArrayDeque的forEach()方法
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建一个包含对象列表的ArrayDeque
ArrayDeque<batch> list = new ArrayDeque<batch>();
// 添加对象到列表中
list.add(new batch("CSE", 67));
list.add(new batch("ECE", 57));
list.add(new batch("IT", 90));
list.add(new batch("ME", 78));
// 打印结果
System.out.println("list of Objects:");
// 使用ArrayDeque的forEach方法和
// 打印学生姓名
list.forEach((n) -> print(n));
}
// 打印对象详情
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);
}
}
// 创建一个类
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程序演示了ArrayDeque的forEach()方法
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建一个包含字符串值的ArrayDeque
ArrayDeque<String> cities = new ArrayDeque<String>();
// 演示NullPointerException
cities.forEach(null);
}
}
输出:
Exception in thread "main" java.lang.NullPointerException
at java.util.ArrayDeque.forEach(Unknown Source)
at GFG.main(File .java:16)
// Java程序演示ArrayDeque的forEach()方法
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建一个包含字符串值的ArrayDeque
ArrayDeque<String> cities = new ArrayDeque<String>();
// 将字符串添加到列表中
cities.add("Kolkata");
cities.add("Delhi");
cities.add("Bombay");
cities.add("Pune");
try {
// ArrayDeque的forEach方法和打印城市名称
cities.forEach(null);
}
catch (Exception e) {
System.out.println("异常:" + e);
}
}
}
异常:java.lang.NullPointerException
引用:
https://docs.oracle.com/javase/10/docs/api/java/util/ArrayDeque.html#forEach(java.util.function.Consumer)
极客教程