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); }