java集合iterator接口

文章目录

  • Iterator接口
  • jdk5.0新特性--增强for循环:(foreach循环)

Iterator接口

  1. Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的元素
  2. Collection接口继承了java.lang.Iterable接口,该接口有一个iterator()方法,那么所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个实现了Iterator接口的对象。
  3. Iterator 仅用于遍历集合,Iterator 本身并不提供承装对象的能力。如果需要创建Iterator 对象,则必须有一个被迭代的集合。
  4. 集合对象每次调用iterator()方法都得到一个全新的迭代器对象,默认游标都在集合的第一个元素之前。
    5.遍历 代码实现
Iterator iterator = coll.iterator();
//hasNext():判断是否还下一个元素
while(iterator.hasNext()){
    //next():①指针下移 ②将下移以后集合位置上的元素返回
    System.out.println(iterator.next());
}

Iterator接口的方法

返回值 方法 描述
boolean hasNext() 如果具有下一个元素,则放回true
泛型E next() 返回迭代中的下一个元素
default void remove() 从底层集合中删除这个迭代器返回的最后一个元素

remove()方法使用:如果还未调用next()或在上一次调用 next 方法之后已经调用了 remove 方法,再调用remove都会报IllegalStateException

java集合iterator接口_第1张图片

jdk5.0新特性–增强for循环:(foreach循环)

1.遍历集合举例:

@Test
public void test1(){
    Collection coll = new ArrayList();
    coll.add(123);
    coll.add(456);
    coll.add(new Person("Jerry",20));
    coll.add(new String("Tom"));
    coll.add(false);

    //for(集合元素的类型 局部变量 : 集合对象)
    
    for(Object obj : coll){
        System.out.println(obj);
    }
}

说明:
内部仍然调用了迭代器。

2.遍历数组举例:

@Test
public void test2(){
    int[] arr = new int[]{1,2,3,4,5,6};
    //for(数组元素的类型 局部变量 : 数组对象)
    for(int i : arr){
        System.out.println(i);
    }
}

你可能感兴趣的:(java基础知识,java,iterator,接口,foreach)