第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么迭代器方法同時(shí)存在于Iterable和Collection接口中?

為什么迭代器方法同時(shí)存在于Iterable和Collection接口中?

桃花長(zhǎng)相依 2021-05-05 10:58:20
該Iterable接口具有以下方法: Iterator<T> iterator();該Collection接口擴(kuò)展Iterable,同時(shí)也宣布了同樣的方法。我懷疑在設(shè)計(jì)Java集合時(shí)需要兩次將相同的方法聲明放入兩次嗎?
查看完整描述

3 回答

?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

主要原因是Java 5。

java.util.Collectioniterator()方法和java.util.Iterator自Java 1.2的存在。

當(dāng)他們想在Java 5中引入增強(qiáng)的for循環(huán)時(shí)(一種方法for (String s: ...) {},他們需要一種java.util.Iterator從未實(shí)現(xiàn)的類創(chuàng)建a的方法java.util.Collection。決定引入一個(gè)新的接口java.lang.Iterable,該接口可以由所有希望支持的類實(shí)現(xiàn)。增強(qiáng)的for循環(huán)。

為了使現(xiàn)有的java.util.Collection及其所有后代接口和類與增強(qiáng)的for循環(huán)兼容,它們進(jìn)行了java.util.Collectionextend java.lang.Iterable

因此,這兩個(gè)接口都有一個(gè)方法iterator()-java.util.Collection因?yàn)樗恰暗谝粋€(gè)誕生的”,java.lang.Iterable用于支持增強(qiáng)的for循環(huán)。


查看完整回答
反對(duì) 回復(fù) 2021-05-19
?
江戶川亂折騰

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超5個(gè)贊

重新定義接口方法是一種常見的做法,它允許子接口完善由超級(jí)接口定義的協(xié)定。

Iterableiterator()返回在某種類型的元素上的迭代器。

Collection的會(huì)iterator()在的元素上返回一個(gè)迭代器Collection,而無需保證順序。

Listiterator()回報(bào)過的元件進(jìn)行迭代的迭代List以正確順序。

這意味著,如果你執(zhí)行的是iterator()一些類的實(shí)現(xiàn)方法Collection,你應(yīng)該遵循合同Collectioniterator(),這比更具體Iterableiterator()合同。如果您的類還實(shí)現(xiàn)了List,你應(yīng)該遵循的更加具體的合同Listiterator()。


查看完整回答
反對(duì) 回復(fù) 2021-05-19
  • 3 回答
  • 0 關(guān)注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)