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(集合/数组的数据类型 变量名: 集合名/数组名) {
sout(变量名);
}
ArrayList<String> s2 = new ArrayList<>(); s2.add("dsd"); s2.add("222"); s2.add("34e"); for (String s :s2) { System.out.println(s); }