这个 迭代器() LinkedBlockingQueue的方法以正确的顺序返回与此LinkedBlockingQueue相同元素的迭代器。此方法返回的元素包含按顺序排列的所有元素 第一名(负责人) 到 最后(尾巴) LinkedBlockingQueue的。返回的迭代器弱一致。 语法:
null
public Iterator<E> iterator()
返回值: 该方法返回迭代器,该迭代器的元素与LinkedBlockingQueue中的元素相同,顺序从第一个(头)到最后一个(尾)。 下面的程序演示了LinkedBlockingQueue类的迭代器()方法: 项目1: 从LinkedBlockingQueue创建迭代器,其中包含一个类中不同学生的名称。
JAVA
// Java Program Demonstrate iterator() // method of LinkedBlockingQueue import java.util.concurrent.LinkedBlockingQueue; import java.util.Iterator; public class GFG { public static void main(String[] args) { // define capacity of LinkedBlockingQueue int capacityOfQueue = 7 ; // create object of LinkedBlockingQueue LinkedBlockingQueue<String> linkedQueue = new LinkedBlockingQueue<String>(capacityOfQueue); // Add element to LinkedBlockingQueue linkedQueue.add( "John" ); linkedQueue.add( "Tom" ); linkedQueue.add( "Clark" ); linkedQueue.add( "Kat" ); // create Iterator of linkedQueue using iterator() method Iterator<String> listOfNames = linkedQueue.iterator(); // print result System.out.println( "list of names:" ); while (listOfNames.hasNext()) System.out.println(listOfNames.next()); } } |
输出:
list of names:JohnTomClarkKat
项目2: 从包含员工列表的LinkedBlockingQueue创建迭代器。
JAVA
// Java Program Demonstrate iterator() // method of LinkedBlockingQueue import java.util.concurrent.LinkedBlockingQueue; import java.util.Iterator; public class GFG { public void collectIterator() { // define capacity of LinkedBlockingQueue int capacityOfQueue = 7 ; // create object of LinkedBlockingQueue LinkedBlockingQueue<Employee> linkedQueue = new LinkedBlockingQueue<Employee>(capacityOfQueue); // Add element to LinkedBlockingQueue Employee emp1 = new Employee( "Sachin" , "Developer" , "39000" ); Employee emp2 = new Employee( "Sanjeev" , "Tester" , "26000" ); // Add Employee Objects to linkedQueue linkedQueue.add(emp1); linkedQueue.add(emp2); // create Iterator of linkedQueue using iterator() method Iterator<Employee> listOfEmployee = linkedQueue.iterator(); // print result from iterator System.out.println( "list of Employees:" ); while (listOfEmployee.hasNext()) { System.out.println( "*************************" ); Employee emp = listOfEmployee.next(); System.out.println( "Employee Name : " + emp.name); System.out.println( "Employee Position : " + emp.position); System.out.println( "Employee Salary : " + emp.salary); } } // create an Employee Object with name, // position and salary as an attribute public class Employee { public String name; public String position; public String salary; Employee(String name, String position, String salary) { this .name = name; this .position = position; this .salary = salary; } @Override public String toString() { return "Employee [name=" + name + ", position=" + position + ", salary=" + salary + "]" ; } } // Main Method public static void main(String[] args) { GFG gfg = new GFG(); gfg.collectIterator(); } } |
输出:
list of Employees:*************************Employee Name : SachinEmployee Position : DeveloperEmployee Salary : 39000*************************Employee Name : SanjeevEmployee Position : TesterEmployee Salary : 26000
参考: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html#iterator–
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END