`

foreach迭代对像与Iterator迭代器对像

阅读更多
package com;

import java.util.ArrayList;  
import java.util.Iterator;
import java.util.List;  
  
class Peop {  
  
    private String name;  
  
    public String getName() {  
        return name;  
    }  
  
    public void setName(String name) {  
        this.name = name;  
    }  
}  
  
  
public class Hello {  
  
    public static void main(String agr[]) {  
        Peop p = new Peop();  
        p.setName("yangxin");  
        Peop p2 = new Peop();  
        p2.setName("zhuxiaofei");  
        
        //把2个对象实例放入ArrayList容器中。
        List<Peop> list = new ArrayList<Peop>();  
        list.add(p);  
        list.add(p2); 
        
        
        //开始使用foreach循环打印,for (Peop x : list) ,这条语句定义了一个Peop对象的实例x,继而将每一个list元素赋值给x。
        for (Peop x : list) {  
            System.out.println(x.getName());  
        }
        
        
        System.out.println();
        
        
        //开始使用Iterator迭代器开始打印
        Iterator<Peop> iter = list.iterator();
           //使用Iterator接口中的hasNext()判断iter是否有值
           while(iter.hasNext()){
           //用Iterator接口中的next()方法取出iter里的下一个值
           Peop str = (Peop)iter.next();
           System.out.println(str.getName());
         }

    }  
}  



输出:

yangxin
zhuxiaofei

yangxin
zhuxiaofei


这里看见了,使用foreach比使用Iterator迭代器简单,方便许多,但是使用foreach跟使用Iterator迭代器有很明显的略势,foreach在迭代时很难进行对容器的操作,所以一般用于打印(显示),而Iterator迭代器可以方便的操作容器内的元素。



分享到:
评论

相关推荐

    Iterator迭代器讲解

    ### Iterator迭代器详解 #### 一、Iterator简介与概念 在Java编程语言中,`Iterator`接口是一个重要的组件,它提供了遍历集合的基本方法。`Iterator`的主要作用是在不暴露集合内部结构的情况下,顺序访问集合中的...

    详解Java中的迭代迭代器Iterator与枚举器Enumeration

    在Java集合框架中,集合提供了多种数据结构存储对象,而迭代器与枚举器提供了访问这些集合中元素的方法。尽管它们的目的相似,但在使用方式和某些特性上存在区别。 迭代器(Iterator)接口包含以下三个方法: 1. ...

    C#面向对象设计模式纵横谈(18):(行为型模式) Iterator 迭代器模式 (Level 300)

    首先,迭代器模式包含两个主要角色:聚合对象(Aggregate)和迭代器(Iterator)。聚合对象持有元素的集合,并提供创建迭代器的方法。迭代器则负责遍历聚合对象中的元素,它有一个或多个方法用于移动到下一个元素,...

    for,foreach,iterator的用法和区别

    ...},需要手动维护迭代器对象和边界检查。 2. 条件差别 for 需要知道集合或数组的大小,而且需要是有序的,不然无法遍历。 foreach 和 iterator 都不需要知道集合或数组的大小,他们都是得到集合内的每个元素...

    Java学习之Iterator(迭代器)的一般用法

    ### 迭代器与增强型for循环 在实际开发中,我们经常看到增强型for循环(也称为foreach循环)被用于遍历集合,其实内部也是利用了迭代器的原理。增强型for循环的语法更加简洁,但它隐藏了迭代器的细节,使得代码更加...

    PHP迭代器接口Iterator用法分析

    使用迭代器接口,可以使得一个对象集合的遍历过程与集合本身解耦,这样集合就可以专注于内容的管理,而迭代的工作交给迭代器完成。 ### Iterator接口的核心功能: Iterator接口继承自Traversable接口,它定义了一...

    Iterator Pattern(迭代模式)

    4. **具体迭代器(Concrete Iterator)**:实现迭代器接口,存储遍历的状态,并提供遍历具体聚合对象的方法。 ### 实现方式 在Java中,迭代器模式的实现通常使用`Iterable`接口和`Iterator`接口。`Iterable`接口...

    PHP设计模式之迭代器模式Iterator实例分析【对象行为型】

    客户端只需要与迭代器交互,调用其提供的方法(如`next()`、`current()`、`key()`和`valid()`等),即可按顺序访问聚合对象的元素。 4. **适用性** - 当需要遍历聚合对象时,而不希望暴露其内部结构。 - 需要为...

    PHP中的Iterator迭代对象属性详解

    迭代器模式把迭代过程封装在一个单独的对象中,这个对象实现了Iterator接口,该接口要求定义以下方法:rewind()、valid()、current()、key()和next()。 首先,让我们深入探讨Iterator接口提供的五个关键方法。...

    java体系结构之迭代器模式.rar

    7. **迭代器模式与foreach循环**:Java 5引入的增强for循环(也称为foreach循环),底层就是迭代器模式的实现。例如: ```java for (Type element : collection) { // 处理element } ``` 这样的代码简洁且易于...

    java常用的集合类 Iterator迭代器的使用 foreach循环 泛型 Collections、Arrays工具

    常用的集合类Iterator迭代器的使用foreach循环 泛型Collections、Arrays工具

    C#设计模式迭代器示例

    2. **迭代器(Iterator)**:负责遍历聚合对象中的元素。在C#中,`IEnumerator` 接口定义了迭代器的行为,包括 `Current` 属性(返回当前元素),`MoveNext` 方法(移动到下一个元素)和 `Reset` 方法(重置到初始...

    PHP设计模式之迭代器(Iterator)模式入门与应用详解

    迭代器(Iterator)模式是一种行为设计模式,它允许我们顺序访问聚合对象的元素,而无需暴露其底层表示。在PHP中,迭代器模式使得我们能够遍历任何类型的可计数数据,提供了统一的接口用于遍历,使得代码更加灵活且...

    java设计模式之迭代器模式

    3. **具体迭代器(Concrete Iterator)**:实现迭代器接口,知道如何遍历特定的聚合对象。 4. **客户(Client)**:使用迭代器遍历聚合对象的元素。 在实际应用中,我们可以将迭代器模式与现实生活中的场景相联系。...

    ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)

    迭代器(Iterator)是ES6引入的一个重要特性,它提供了一种统一的方式来遍历各种数据结构,如数组、Set、Map甚至是自定义的数据结构。在Java和Python等其他语言中,迭代器也是常见的一种机制。在JavaScript中,迭代器...

    迭代器模式1

    2. **迭代器(Iterator)**:实现了遍历聚合对象中元素的接口,通常包含`hasNext()`和`next()`方法。`hasNext()`检查是否还有更多元素可迭代,`next()`返回下一个元素。在JavaScript示例中,`rewind()`方法用于重置...

    java迭代器

    Iterator 对象称为迭代器 设计模式的一种 )),主要用于遍历 Collection 集合中的元素。迭代器提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。迭代器模式,就是为容器而生。 ...

Global site tag (gtag.js) - Google Analytics