Java中迭代器的實(shí)現(xiàn)

//首先,你的自定義類要實(shí)現(xiàn)Iterable接口(java.long.Iterable)①

public class Stack implements Iterable{

//類體

}

//Iterable接口(java.long.Iterable),它的內(nèi)部只有一個(gè)iterator方法,這個(gè)方法的功能是返回一個(gè)Iterator(迭代器)對(duì)象,所以你的自定義類里要有這個(gè)方法。

public interface Iterable{

Iterator iterator();

}

//迭代器是一個(gè)實(shí)現(xiàn)了Iterator接口的類的對(duì)象②

//該接口為

public interface Iterator{

boollean hasNext();

Itemnext();

void remove();

}

③這個(gè)接口的實(shí)現(xiàn)類(迭代器)是你所自定義的引用類型的一個(gè)內(nèi)部類

舉個(gè)栗子,這是一個(gè)實(shí)現(xiàn)了迭代的、基于鏈表的棧:

import java.util.Iterator;



①//實(shí)現(xiàn)了Iterable接口

public class Stack implements Iterable{

private Nodefirst;

private int N;

private class Node{

Item item;

Node next;

}

public boolean isEmpty(){

return first==null;

}

public void push(Itemitem){

Node oldfirst=first;

first=new Node();

first.item=item;

first.next=oldfirst;

N++;

}

public Item pop(){

Itemitem=first.item;

first=first.next;

N--;

return item;

}



②//Iterable接口內(nèi)的iterator方法

public Iterator iterator(){

return new ListIterator();//返回了一個(gè)迭代器

}

//這個(gè)迭代器沒(méi)有實(shí)現(xiàn)remove方法

//迭代器要實(shí)現(xiàn)Iterator接口

③private class ListIterator implements Iterator{

private Node current=first;

public boolean hasNext(){

return current==null;

}

public Item next(){

Item item=current.item;

current=current.next;

return item;

}

}

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,766評(píng)論 18 399
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,659評(píng)論 19 139
  • 回顧3月13周目標(biāo) 核心主題:二月單位制度變化,崗位調(diào)整,管理更多的事情,需要理順。 目標(biāo)一:把具體工作理順,確保...
    小小捷閱讀 225評(píng)論 0 0
  • 身邊人都說(shuō)我是一個(gè)滿滿正能量的人,平生我最討厭的事情之一,就是抱怨和被抱怨。本身抱怨這件事情就是一件勞心勞力又沒(méi)有...
    FanyLi閱讀 181評(píng)論 0 2

友情鏈接更多精彩內(nèi)容