迭代器与增强for遍历集合
2020-07-14 06:04
106 查看
迭代器基本概念
迭代:即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,
如果有,就把这个元素去出来,继续在判断,如果还有就在取出来,一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代
/* java.util.Iterator接口:迭代器(对集合进行遍历) 有两个常用的方法 boolean hasNext():如果仍有元素可以迭代,则返回true E next():返回迭代的下一元素(取出集合中的下一个元素) Iterator迭代器是一个接口,需要使用到它的实现类,获取实现类方式比较特殊 Collection接口有个方法:iterator(),这个方法返回的就是迭代器实现类对象 Iterator<E> iterator()返回此Collection的元素上进行迭代的迭代器 使用步骤(重点): 1,使用集合中的方法iterator()获取迭代器的实现类,使用Iterator接口接收(多态) 2,使用Iterator接口中的方法hasNext()判断还有没有下一个元素 3,使用Iterator接口中的方法next取出集合中的下一个元素 */
public class Demo01Iterator { public static void main(String[] args) { Collection<String> coll = new ArrayList<>(); coll.add("姚明"); coll.add("科比"); coll.add("乔丹"); coll.add("艾弗森"); //Iterator<E>接口也是有泛型的,迭代器的泛型跟着集合走,集合是什么泛型,迭代器就是什么 Iterator<String> it = coll.iterator();//多态 boolean b= it.hasNext();//判断有没有下一个元素 System.out.println(b);//true String s = it.next();//接收第一元素 System.out.println(s); //还有3个元素,还要同样进行3次 //没有元素在取出元素就会抛出“没有元素异常” //一次次取很麻烦,都是重复的操作。所以可以用while循环 while(it.hasNext()){//返回true会一直执行,知道返回false就会停止 String e = it.next(); System.out.println(e); } for(Iterator<String> it2 = coll.iterator();it.hasNext();){ String e = it2.next();//取出来自动指向下一位 System.out.println(e); } } }
增强for
/* 增强for循环:底层使用的也是迭代器,使用for循环的格式,简化了迭代器的书写 是JDK1.5之后出现的新特性 Collection<E> extends Iterable<E>:所有单列集合都可以使用增强for public interface Iterable<E>实现这个接口允许对象成为“foreach”语句的目标 格式:(用来遍历集合和数组) for(集合/数组数据类型 变量名 : 集合名/数组名){ sout(变量名); } */
public class Demo01Foreach { public static void main(String[] args) { demo01(); demo02(); } //使用增强for循环遍历集合 private static void demo02() { ArrayList<String> list = new ArrayList<>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); list.add("ddd"); for(String a : list){ System.out.println(a); } } //使用增强for循环遍历数组 private static void demo01() { int[] arr = {1,2,3,4,5}; for(int a : arr){ System.out.println(a); } } }
相关文章推荐
- Java使用增强for循环和迭代器遍历Map集合
- JAVA使用增强for循环和迭代器遍历Map集合
- 【Java编程】使用增强for循环和迭代器遍历Map集合
- 【Java编程】使用增强for循环和迭代器遍历Map集合
- ArrayList /Vector/LinkedList用/迭代器遍历 /列表迭代器遍历 /使用size()和get()方法遍历/使用增强for遍历集合
- for,增强for,迭代器3种方式遍历集合的同时修改元素的区别
- 用迭代器取出ArrayList集合集合中的元素。(用for和while正反向遍历)
- 黑马程序员_Java中for遍历数组或集合(增强for循环)
- 遍历数组和集合可以用增强for语句来实现
- day07-集合【迭代器、增强for、泛型】
- 【Java】集合遍历增强for和普通for的区别
- JAVA使用增强for循环和迭代器遍历Map集合
- Java>Map集合>>Map集合遍历方法_通过键找值的方式(迭代器遍历、增强for循环遍历)
- map集合之——加强for和迭代器遍历,集合的双重遍历
- 集合遍历元素的3种方法:for、foreach、迭代器iterator
- java开发——增强for遍历集合时,删除元素是如何抛出异常的?
- HashSet的两种遍历方式 迭代器 增强for
- 增强for循环遍历数组集合
- Java>Map集合>>Map集合遍历方法_使用Entry对象遍历(迭代器遍历、增强for循环遍历)
- 集合、迭代器、增强for、集合中泛型的引入