欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來(lái)到入門教程網(wǎng)!

Java編程

當(dāng)前位置:主頁(yè) > 軟件編程 > Java編程 >

Java編程Iterator迭代器設(shè)計(jì)原理及實(shí)現(xiàn)代碼示例

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:Java編程|點(diǎn)擊: 次

我們知道迭代器(Iterator)是一種對(duì)象,它能夠用來(lái)遍歷標(biāo)準(zhǔn)模板庫(kù)容器中的部分或全部元素。那么Iterator迭代器的設(shè)計(jì)原理是什么呢?迭代器問(wèn)什么定義了一個(gè)借口,而不是一個(gè)類呢?

我們假設(shè)迭代器迭代數(shù)據(jù)的功能定義為了一個(gè)類,那么,會(huì)有這樣的問(wèn)題。不同的集合,由于數(shù)據(jù)結(jié)構(gòu)不一樣,所以他們的存儲(chǔ)方式也是不一樣的。也就是說(shuō),迭代器獲取的時(shí)候,獲取的方式是變化的,也就是不固定的。所以把這種方式定義為具體的實(shí)現(xiàn)是不合理的。

無(wú)論何種集合,他們肯定都有獲取的功能,而且不知道什么時(shí)候就沒(méi)有數(shù)據(jù)了。所有他們也會(huì)有判斷功能。于是,就把判斷和獲取功能抽取出來(lái),定義在接口中。這樣的話,將來(lái)無(wú)論是哪種集合在遍歷的時(shí)候,它們自己只要去實(shí)現(xiàn)迭代器接口即可。

那具體怎么實(shí)現(xiàn)的呢?集合迭代器是以內(nèi)部類的方式實(shí)現(xiàn)的。簡(jiǎn)單看一段代碼。

package me.socketthread;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class IteratorDemo { 
  public static void main(String[] args) { 
    //創(chuàng)建對(duì)象 
    Collection c = new ArrayList(); 
     
    //添加元素 
    c.add("hello"); 
    c.add("world"); 
    c.add("helloworld"); 
     
     
    //遍歷集合對(duì)象,通過(guò)集合對(duì)象調(diào)用方法c.iterator()得到迭代器對(duì)象Iterator 
    Iterator it = c.iterator(); //返回的是Iterator的子類對(duì)象,多態(tài)。 
     
    while (it.hasNext()) {    //檢查序列中是否還有元素 
      //System.out.println(it.next()); 
      String s =(String)it.next();//獲得序列中的下一個(gè)元素 
      System.out.println(s); 
    } 
     
  } 
} 

輸出

hello
world
helloworld

總結(jié)

以上就是本文關(guān)于Java編程Iterator迭代器設(shè)計(jì)原理及實(shí)現(xiàn)代碼示例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Java編程利用socket多線程訪問(wèn)服務(wù)器文件代碼示例、Java多線程編程實(shí)現(xiàn)socket通信示例代碼等,有什么問(wèn)題,可以留言,歡迎大家交流討論。感謝朋友們對(duì)我們網(wǎng)站的支持!

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有