Iterator接口

本章目标
|--掌握集合输出的标准操作
|--掌握Iterator接口的主要作用及使用注意事项
具体内容
|--集合的输出
在类集中提供了一下四种的常见输出方式:
·Iterator:迭代输出,是使用最多的输出方式
·ListIterator:是Iterator的子接口,专门用于输出List中的内容
·foreach输出:JDK1.5之后提供的新功能,可以输出数组或集合
·Enumeration输出:是一旧的接口,功能与Iterator类似。
|--Iterator
·集合输出的标准操作:
·在使用集合输出的时候必须形成一下的一个思路:“只要是碰到了集合输出的操作,就一定使用Iterator接口”,因为这是最标准的做法
·Iterator接口的操作原理
·Iterator是专门的迭代输出接口,所谓的迭代输出就是将元素一个个进行那个判断,判断其是否有内容,如果有内容则把内容取出:开头à判断à取走
对于Iterator而言,因为其本身是一个接口,所以要想实例化则必须依靠Collection接口完成
Iterator<E>Iterator()
使用Iterator
import java.util.List ;
import java.util.ArrayList ;
import java.util.Iterator ;
public class IteratorDemo01{
public static void main(String args[]){
List<String> all= new ArrayList<String>() ; //
all.add("hello") ;
all.add("_") ;
all.add("world") ;
Iterator<String> iter = all.iterator() ; // 为Iterator接口实例化
while(iter.hasNext()){ // 判断是否有内容
System.out.println(iter.next()) ; // 输出内容
}
}
};
以上的操作代码属于Iterator的标准做法

在Iterator接口中提供了remove()方法,此方法的是删除当前的对象。
import java.util.List ;
import java.util.ArrayList ;
import java.util.Iterator ;
public class IteratorDemo02{
public static void main(String args[]){
List<String> all= new ArrayList<String>() ; //
all.add("hello") ;
all.add("_") ;
all.add("world") ;
Iterator<String> iter = all.iterator() ; // 为Iterator接口实例化
while(iter.hasNext()){ // 判断是否有内容
String str = iter.next() ;
if("_".equals(str)){
iter.remove() ; // 删除元素
}else{
System.out.println(str) ; // 输出内容
}
}
System.out.println("删除之后的集合:" + all) ;
}
};
在实例中Iterator是很少调用删除操作的,因为其本身的功能就是输出内容,当然,对于删除操作也有以下的一个主意点:
·List接口本身存在删除方法:remove
如果在使用迭代输出的过程中使用了List中的remove()执行删除操作,则代码将出现问题
import java.util.List ;
import java.util.ArrayList ;
import java.util.Iterator ;
public class IteratorDemo03{
public static void main(String args[]){
List<String> all= new ArrayList<String>() ; //
all.add("hello") ;
all.add("_") ;
all.add("world") ;
Iterator<String> iter = all.iterator() ; // 为Iterator接口实例化
while(iter.hasNext()){ // 判断是否有内容
String str = iter.next() ;
if("_".equals(str)){
all.remove(str) ; // 删除元素
}else{
System.out.println(str) ; // 输出内容
}
}
System.out.println("删除之后的集合:" + all) ;
}
};
在使用Iterator输出时,不要使用集合类中的remove()方法,而只能使用Iterator接口中的remove方法
|--总结
1、 Iterator接口的功能是从向前后输出,属于单向的输出
2、 Iterator的主要功能就是完成迭代输出操作的
3、 在使用Iterator的时候最好不要删除数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值