Java集合框架:Iterator迭代器

迭代器是一种设计模式,它是一个对象,它可以遍历序列中的对象,而开发人员不需要了解该序列的底层结构。(不用关心它是什么类型的数据)

for循环----有索引

for-each循环---类型统一

JAVA中迭代器的实现步骤:

1.使用方法iterator()要求容器(集合就是一种容器)返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。

2.使用next() 取出当前位置的元素 , 并且 将迭代器移动到下一个数据的位置。

3.使用hasNext() 检查序列中是否还有元素。

4.使用remove() 将迭代器新返回的元素删除。

注意:iterator()方法是java.lang.Iterable接口,被Collection继承。

例1.使用Iterator遍历hashSet

package cn.xtnotes.u3;
import java.util.HashSet;
import java.util.Iterator;
public class Iterator_1 {

	public static void main(String[] args) {
		HashSet hs=new HashSet();
		hs.add("张三");
		hs.add("小明");
		hs.add("啊吧");
		hs.add(123456);
		
		Iterator it=hs.iterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}
	}
}

运行结果

例2;

//创建集合 多态的形式
ArrayList<String> list = new ArrayList<>();
list.add("aa");
list.add("bb");
list.add("aa");
list.add("aa");
list.add("ee");
list.add("xx");
list.add("aa");
list.add("aa");
list.add("yy");

// 1 获取迭代器对象
Iterator<String> it = list.iterator();
//  2 循环获取数据
while (it.hasNext()) {
    String str = it.next();
    //3判断str是不是aa
    if ("aa".equals(str)) {
        it.remove();
    }
}
System.out.println(list);

 

阅读剩余
THE END