Iterator接口的简单用法

Iterator迭代接口是专门用来进行迭代输出的接口,定义如下:

public interface Iterator<E>{ }

Iterator 接口提供的常用方法如下:

序号常用方法说明
1public boolean hasNext()判断集合是否有下一个元素
2pulbic E next()取出当前元素
3public void remove()删除当前元素

Iterator 接口本身没有子类,因此要取得该接口的实例,需要采用Collection 接口中的 iterator() 方法来实例化。

实例化 Iterator 接口:

Iterator<E> 对象名 = Collection 接口对象名.iterator()

示例如下:

package com.demo;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

class USACO2  {
     private double discharge;
     private String src;
     public USACO2(String src, double discharge){
    	 this.src = src;
    	 this.discharge = discharge;
     }       
    public String toString(){
    	return "排放源: " +src + "  排放量:"+ discharge;
    }
    public boolean equals(Object obj){
    	if(this == obj){
    		return true;
    	}
    	if(!(obj instanceof USACO2)){
    		return false;
    	}
    	USACO2  usa = (USACO2)obj;
    	if(this.src.equals(usa.src) && this.discharge == usa.discharge)
    		return true;
    	return false;
    }
}
public class demo   {
	public static void main(String[] args){
         List<USACO2> myList = new ArrayList<USACO2>();
         Iterator<USACO2> iter = null;
         myList.add(new USACO2("空气", 2509));
         myList.add(new USACO2("制冰", 3429));
         myList.add(new USACO2("热空调", 21109));
         myList.add(new USACO2("热水", 4212));
         USACO2 usa = null;
         usa = new USACO2("制冰", 3429);
         iter = myList.iterator(); //要先创建集合实例化
         while(iter.hasNext()){
        	 if(iter.next().equals(usa))
        		 iter.remove();
        	
	}
         iter = myList.iterator();  //修改集合之后,需要重新 实例化迭代器接口
	while(iter.hasNext()){
		System.out.println(iter.next());
	}
	}		
}
输出如下:

排放源: 空气  排放量:2509.0
排放源: 热空调  排放量:21109.0

排放源: 热水  排放量:4212.0

注意:必须在创建集合之后才能实例化 Iterator 接口, 否则将出现错误.






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值