【Java类集】_Iterator接口笔记
本章目标:
掌握集合输出的标准操作
掌握Iterator接口的主要作用及使用注意事项
在集合的操作中支持以下几种方式:
Iterator
ListIterator
foreach输出
Enumeration输出
3、具体内容
Iterator接口简介
集合输出的标准操作:
"在使用集合输出的时候必须以下的思路:只要是碰到了集合输出的操作,就一定使用Iterator接口,因为这是最标准的做法。"
Iterator接口的操作原理:
Iterator是专门的迭代输出接口,所谓的迭代输出就是将元素一个个进行判断,判断是否有内容,如果有内容则把内容取出
对于Iterator而言,因为其本身是一个接口,所以要想实例化则必须依靠Collection接口完成。
Iterator<E> iterator()
输出:
Hello
_
World!!!
以上操作为Iterator的标准操作做法
在Iterator接口中提供了remove()方法,此方法的功能是删除当前的对象。
输出:
hello
world!!!
删除之后的集合:[hello, world!!!]
在实际上Iterator是很少调用删除操作的,因为其本身的功能是输出内容。当然,对于删除操作也有以下的注意点:
List接口本身存在删除的方法:remove()
如果在使用迭代输出的过程中使用了List中的remove()执行删除操作,则代码将出现问题。
输出:
IteratorDemo02.java:14: 找不到符号
符号: 方法 remove()
位置: 接口 java.util.List<java.lang.String>
all.remove(); //删除元素
^
1 错误
4、总结
Iterator接口的功能是从前向后输出,属于单向输出
Iterator的主要功能就是完成迭代输出操作的
本章目标:
掌握集合输出的标准操作
掌握Iterator接口的主要作用及使用注意事项
在集合的操作中支持以下几种方式:
Iterator
ListIterator
foreach输出
Enumeration输出
3、具体内容
Iterator接口简介
集合输出的标准操作:
"在使用集合输出的时候必须以下的思路:只要是碰到了集合输出的操作,就一定使用Iterator接口,因为这是最标准的做法。"
Iterator接口的操作原理:
Iterator是专门的迭代输出接口,所谓的迭代输出就是将元素一个个进行判断,判断是否有内容,如果有内容则把内容取出
对于Iterator而言,因为其本身是一个接口,所以要想实例化则必须依靠Collection接口完成。
Iterator<E> iterator()
import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
public class IteratorDemo01{
public static void main(String[] args){
List<String> allList = new ArrayList<String>();
allList.add("Hello");
allList.add("_");
allList.add("World!!!");
Iterator<String> iter = all.iterator();
while(iter.hasNext()){ //判断是否有内容
System.out.println(iter.next()); //输出内容
}
}
}
输出:
Hello
_
World!!!
以上操作为Iterator的标准操作做法
在Iterator接口中提供了remove()方法,此方法的功能是删除当前的对象。
import java.util.List;
import java.util.Iterator;
import java.util.ArrayList;
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();
while(iter.hasNext()){
String str = iter.next();
if("_".equals(str)){
iter.remove(); //删除元素
}else{
System.out.println(str); //输出内容
}
}
System.out.println("删除之后的集合:"+all);
}
}
输出:
hello
world!!!
删除之后的集合:[hello, world!!!]
在实际上Iterator是很少调用删除操作的,因为其本身的功能是输出内容。当然,对于删除操作也有以下的注意点:
List接口本身存在删除的方法:remove()
如果在使用迭代输出的过程中使用了List中的remove()执行删除操作,则代码将出现问题。
import java.util.List;
import java.util.Iterator;
import java.util.ArrayList;
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();
while(iter.hasNext()){
String str = iter.next();
if("_".equals(str)){
all.remove(); //删除元素
}else{
System.out.println(str); //输出内容
}
}
System.out.println("删除之后的集合:"+all);
}
}
输出:
IteratorDemo02.java:14: 找不到符号
符号: 方法 remove()
位置: 接口 java.util.List<java.lang.String>
all.remove(); //删除元素
^
1 错误
4、总结
Iterator接口的功能是从前向后输出,属于单向输出
Iterator的主要功能就是完成迭代输出操作的
在使用Iterator的时候最好不要删除数据