zoukankan      html  css  js  c++  java
  • [javaSE] 集合框架(迭代器)

    当我们创建一个集合以后,可以直接使用system.out.println()来打印这个集合,但是,我们需要可以对每个元素进行操作,所以,这里需要使用迭代器来遍历集合

    迭代器其实就是集合取出元素的方式

    调用List对象的iterator()方法,得到Iterator对象,这个类是个接口类型,因此可以知道返回的是Iterator接口的子对象

    while()循环,条件是,List对象的hasNext()方法,返回布尔值不为false

    循环里面调用List对象的next()方法,可以得到每一个元素

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    
    public class IteratorDemo {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            List<String> list=new ArrayList<String>();
            list.add("taoshihan1");
            list.add("taoshihan2");
            list.add("taoshihan3");
            Iterator iterator=list.iterator();
            while(iterator.hasNext()){
                System.out.println(iterator.next());
            }
        }
    
    }

    PHP版:

    php中最常用的迭代式foreach(),我们也可以自己实现一个迭代器

    <?php
    $list=array("taoshihan1","taoshihan2","taoshihan3");
    /**
    * 迭代器
    * @author taoshihan
    */
    class MyIterator implements Iterator{
        public $index=0;
        public $arr;
        public function __construct($arr){
            $this->arr=$arr;
        }
        public function current(){
            return $this->arr[$this->index];
        }
        public function next(){
            ++$this->index;
        }
        public function key(){
            return $this->index;
        }
        public function valid(){
            return isset($this->arr[$this->index]);
        }
        public function rewind(){
            $this->index=0;
        }
    }
    $myIterator=new MyIterator($list);
    $myIterator->rewind();//指针指向第一个
    while($myIterator->valid()){//循环 当元素为真时
        echo $myIterator->current();//打印当前元素
        $myIterator->next();//指针往后移动一个
    
    }    
  • 相关阅读:
    Linux对文件的权限管理
    在Eclipse中安装TestNG
    JUnit 4 与 TestNG 对比
    postman之HTTP请求
    Fiddler抓包后保存为JMX(jmeter脚本,不限jmeter使用版本)
    JMeter使用之BlazeMeter的安装及初步使用
    Postman的第一个案例演示
    Postman的安装及注意事项
    SVN学习记录
    TestNG中如何执行测试
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5533078.html
Copyright © 2011-2022 走看看