Iterator 接口的使用 所有的Collection接口类都有一个iterator方法 ,Iterator对象的删除

来源:互联网 发布:淘宝网一摩托车头盔 编辑:程序博客网 时间:2024/06/06 21:24
/*
* Iterator 接口的使用 所有的Collection接口类都有一个iterator方法 ,Iterator对象的删除
*以返回一个实现了Iterator接口的对象
*/


import java.util.*;


class Name
{
private String firstname;
private String lastname;

Name(String firstname,String lastname)
{
this.firstname = firstname;
this.lastname = lastname;
}

public String getfirstname()
{    
return firstname;
}

public String getlastname()
{
return lastname;
}
public String toString()
{
return firstname+"."+lastname;
}
}


public class TestIterator
{
public static void main(String[] args)
{
  Collection c = new HashSet();
  c.add(new Name("fff1","lll1"));
  c.add(new Name("f2","l2"));
  c.add(new Name("fff3","lll3"));
  
 Iterator i = c.iterator();
  
  while(i.hasNext())
  {
  Name n = (Name) i.next();//强制转换 
  System.out.println(n.getfirstname());
  // System.out.println(i.next().getfirstname());//这样也能输出
  }
  
  for(Iterator ii = c.iterator();ii.hasNext();)
  {
  Name name = (Name) ii.next();
  if(name.getfirstname().length()<3)
  {
  ii.remove();
  //Iterator 的对象的remove方法是迭代过程中删除元素的唯一安全方法
  //若换成c.remove(name);会产生例外
  }
  }
  System.out.println(c);
}
}
原创粉丝点击