java类集——Interator

在集合的操作中支持一下几种方式:
1.Interator
2.ListIterator
3.foreach
4.Enumeration
Interator接口简介
集合输出的标准操作:
在使用集合输出的时候必须形成以下的一个思路:只要是碰到了集合输出的操作,就一定使用Interator接口,因为这是最标准的做法
Interator接口的操作原理:
Interator是专门的迭代输出接口,所谓的迭代输出就是将元素一个个进行判断,判断其是否有内容,如果有内容则把内容取出。

对于Interator而言,因为其本身就是一个接口则必须依靠Collection接口完成。

使用Interator
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class InteratorDemo01 {
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();  //为Interator接口实例化
	while(iter.hasNext()) {    //判断是否有内容
		System.out.println(iter.next());	//输出内容
	}
	
}

}
以上的操作代码属于Interator的标准做法。
在Interator接口中提供了remove()方法,此方法的功能是删除当前的对象。
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class InteratorDemo02 {
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();  //为Interator接口实例化
	while(iter.hasNext()) {		//判断是否有内容
		String str = iter.next();
		if("_".equals(str)) {
			iter.remove();
		}else {
			System.out.println(str);	//输出内容
		}
	}
	System.out.println("删除之后的集合:" + all);
}

}
在实际中Interator是很少调用删除操作的,因为其本身功能是输出内容,当然,对于删除操作也有以下的一个注意点:
List接口本身也有删除方法:remove().
如果在使用迭代输出的过程中使用了List中的remove()执行删除操作,则代码将出现问题。

public class InteratorDemo03 {
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();  //为Interator接口实例化
	while(iter.hasNext()) {		//判断是否有内容
		String str = iter.next();
		if("_".equals(str)) {
			all.remove(str);
		}else {
			System.out.println(str);	//输出内容
		}
	}
	System.out.println("删除之后的集合:" + all);
}

}
执行结果:
hello
删除之后的集合:[hello, world]。
所以在使用Interator输出时,不要使用集合类中的remove()方法,而只能使用Interator接口中的remove方法。

总结
1.Interator接口的功能是从前向后输出,属于单向输出。
2.Interator的主要功能是就是完成迭代输出操作的。
3.在使用Interator的时候最好不要删除数据。

猜你喜欢

转载自blog.csdn.net/weixin_43149344/article/details/83083631