在Java中介绍BlockingDeque迭代器方法
iterator() 方法返回一个迭代器,按照正确的顺序遍历该deque中的元素。元素将按照从头到尾的顺序返回。返回的迭代器是“弱一致的”迭代器。
语法:
public Iterator iterator()
参数: 该方法不接受任何参数。
返回值: 该方法返回一个按照正确顺序遍历该deque中元素的迭代器。
注意 : Java中的 BlockingDeque 类的iterator()方法是从LinkedBlockingDeque类继承的。
下面的程序说明了BlockingDeque的iterator()方法 :
程序1:
// Java程序演示iterator()
//方法的BlockingDeque
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.BlockingDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建BlockingDeque对象
BlockingDeque<Integer> BD
= new LinkedBlockingDeque<Integer>();
// 将数字添加到BlockingDeque的前面
BD.addFirst(7855642);
BD.addFirst(35658786);
BD.addFirst(5278367);
BD.addFirst(74381793);
// 调用BlockingDeque的iterator()方法
Iterator iteratorVals = BD.iterator();
// 打印由PriorityBlockingQueue创建的iterator的元素
System.out.println("BlockingDeque的迭代值为:");
// 使用迭代器打印元素
while (iteratorVals.hasNext()) {
System.out.println(iteratorVals.next());
}
}
}
BlockingDeque的迭代值为:
74381793
5278367
35658786
7855642
程序2:
// Java程序演示iterator()
//方法的BlockingDeque
//当列表为字符串时
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.BlockingDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建BlockingDeque对象
BlockingDeque<String> BD
= new LinkedBlockingDeque<String>();
// 将数字添加到BlockingDeque的前面
BD.add("Geeks");
BD.add("forGeeks");
BD.add("A");
BD.add("Computer");
BD.add("Portal");
// 调用BlockingDeque的iterator()方法
Iterator iteratorVals = BD.iterator();
// 打印由BlockingQueue创建的iterator的元素
System.out.println("LinkedBlockingDeque的迭代值为:");
// 使用迭代器打印元素
while (iteratorVals.hasNext()) {
System.out.println(iteratorVals.next());
}
}
}
LinkedBlockingDeque的迭代值为:
Geeks
forGeeks
A
Computer
Portal
参考资料: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingDeque.html#iterator()
极客教程