疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java8 增强的Iterator遍历集合元素


 

Iterator接口也是Java集合框架的成员,与Collection和Map两个系列的集合不一样的是Collection和Map系列主要用于充当容器的作用,而Iterator正如其名字一样是主要用于迭代访问Collection集合中的元素,Iterator对象也被称为迭代器。
 
Iterator接口里面定义了下面4个方法:
 
》boolean hasNext():如果被迭代遍历的集合还没有被遍历完,返回True
 
》Object next():返回集合里面的下一个元素
 
》remove():删除集合里面上一次next()方法返回的元素
 
》void forEachRemaining(Consumer action):使用Lambda表达式来遍历集合元素,这是java8为Iterator新增的默认方法
 
下面给出一个实例
 
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
 
 
public class Bike {
 
private String name;//自行车名
private double deposit;//押金
 
public Bike(){}
public Bike(String name,double deposit){
this.name=name;
this.deposit=deposit;
}
 
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getDeposit() {
return deposit;
}
public void setDeposit(double deposit) {
this.deposit = deposit;
}
public static void main(String[] args) {
List<Bike> bikes=new ArrayList<>();
bikes.add(new Bike("小黄车",99));
bikes.add(new Bike("摩拜单车",200));
bikes.add(new Bike("小鸣单车",100));
//遍历
Iterator it=bikes.iterator();
while(it.hasNext()){
Bike bike=(Bike)it.next();
System.out.println("[车型:"+bike.getName()+"][押金:"+bike.getDeposit()+"]");
}
 
}
 
输出效果如下:
 
[车型:小黄车][押金:99.0]
[车型:摩拜单车][押金:200.0]
[车型:小鸣单车][押金:100.0]