zoukankan      html  css  js  c++  java
  • 实现 IteratorAggregate接口

    <?php


    class MyIterator implements Iterator{


    private $var = array();

    public function __construct($array){

    if(is_array($array)){

    $this->var = $array;

    }

    }

    public function rewind(){

    reset($this->var);

    }
    public function current(){

    $var = current($this->var);

    return $var;

    }

    public function key(){

    $var = key($this->var);

    return $var;


    }

    public function next(){

    $var = next($this->var);


    return $var;

    }

    public function valid(){

    $var = $this->current() !== false;

    return $var;


    }

    }

    class Myclloection implements IteratorAggregate{


    private $items = array();

    private $count = 0;


    public function getIterator(){

    return new MyIterator($this->items);

    }

    public function add ($value){

    $this->items[$this->count++] = $value;

    }

    }

    $coll = new Myclloection();

    $coll->add('value1');
    $coll->add('value2');
    $coll->add('value3');

    foreach ($coll as $key =>$val){

    echo "key/value: [$key -> $val]<br>";

    }

    ?>

  • 相关阅读:
    java--保留重复排序
    java--TreeSet比较器排序
    java--去重练习
    java--HashSet
    java--集合可变参数
    spring MVC入门
    java IO详解
    spring入门
    redis详解
    maven教程
  • 原文地址:https://www.cnblogs.com/paulversion/p/8948099.html
Copyright © 2011-2022 走看看