共计 852 个字符,预计需要花费 3 分钟才能阅读完成。
Iterator 接口
java.util.Itertor 接口
迭代,是 Collection 汇合元素的通用获取形式
Iterator 也是有 泛型 的!!
先判断汇合中有没有元素,有就取出来,再持续判断,再持续取,直至全副取出。
boolean hasNext()
判断是否有元素
next()
有元素,则取出元素
remove()
获取实现类的形式:
Collection 接口中有个办法,iterator(),这个办法返回的就是迭代器的实现类对象。
Iterator 也是有 泛型 的!!迭代器的泛型跟着汇合走,汇合什么泛型,迭代器什么泛型
1. 应用汇合中的办法 iterator()获取迭代器的实现类对象,应用 Iterator 接口接管(多态);
2. 应用 Iterator 接口中的办法 hasNext 判断是否有下一个元素;
3. 应用 Iterator 接口中的办法 next 取出汇合中的下一个元素。
Collection<String> coll = new ArrayList<>();
coll.add("2");
coll.add("da");
coll.add("2ue");
Iterator<String> it = coll.iterator();
while (it.hasNext()) {String s = it.next();
System.out.println(s);
}
实现原理:
获取迭代器实现类对象,并把指针指向汇合的 - 1 索引
Iterator<String> it = coll.iterator();
next();
除了取出下一个元素,并且将指针向后挪动一位。
加强 for 循环
底层应用的也是迭代器,应用 for 循环的格局,简化了迭代器的书写
用来遍历汇合和数组
格局:
for(汇合 / 数组的数据类型 变量名: 汇合名 / 数组名) {
sout(变量名);
}
ArrayList<String> s2 = new ArrayList<>();
s2.add("dsd");
s2.add("222");
s2.add("34e");
for (String s :s2) {System.out.println(s);
}
正文完