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

為了賬號安全,請及時綁定郵箱和手機立即綁定

關(guān)于以Set集合為第二參數(shù)的foreach(第一參數(shù):第二參數(shù))


foreach結(jié)構(gòu)中(第一參數(shù):第二參數(shù)),第二參數(shù)應(yīng)該為第一參數(shù)的數(shù)組,例如第一參數(shù)為int時,第二參數(shù)為int[];第一參數(shù)為float時,第二參數(shù)為float[];我看到課程中老師寫到for(Entry:Set),for(String:Set)這樣兩種不同的結(jié)構(gòu),因此我想問問Set的類型是隨著其元素的類型的不同而不同的嗎?例如元素為String類型,那么Set為String數(shù)組,元素為Entry類型,那么Set為Entry數(shù)組,是這樣嗎?

正在回答

3 回答

大體意思應(yīng)該是這樣的。 set是集合不是數(shù)組。我在 想可不可以for(Set:Set) 有一個 Set集合里面裝的是不同的Set集合。

3 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕粉2304285705 提問者

非常感謝!
2016-12-28 回復(fù) 有任何疑惑可以回復(fù)我~

更準(zhǔn)確的說法是:Set中元素為String類型,那么引用parm1為String類型,Set中元素為Entry類型,那么引用parm1為Entry類型。而實際上引用parm1可以是Set中元素的父類型和實現(xiàn)的接口類型。

因為ForEach(parm1:parm2)本質(zhì)上是迭代器。以使用迭代器遍歷EntrySet為例

Set<Entry<String,String>>entrySet=studentMap.entrySet();

Entry<String,String>>iter=entrySet.iterator();
while(iter.hasnext()){
Entry<String,String>entry=iter.next();//迭代器中這一步可以對應(yīng)foreach中--parm1:param2
//這里的entry是可以寫成其父類型的,賦值時的向上造型
}

ForEach循環(huán)語句判斷循環(huán)的條件是iter.hasnext(),

parm1(Entry<String,String>entry)是接受iter.next()對象的引用。parm1的類型可以是iter.next()對象的父類型或者實現(xiàn)的接口類型,但是由于泛型集合的約束和向上造型帶來的多態(tài)性。? 我們習(xí)慣把parm1和parm2中元素的類型保持一致。下面演示parm1是父類型,如下:

public?class?sonTest?extends?superTest{???????????
??????????????????????????????????????????????????
public?static?void?main(String[]?args)?{??????
????//?TODO?Auto-generated?method?stub????????
????Set<sonTest>sonSet=new?HashSet<sonTest>();
????for(int?i=0;i<10;i++){????????????????????
????sonSet.add(new?sonTest());????????????
????}?????????????????????????????????????????
????for(superTest?T:sonSet){?}??//編譯器沒有報錯,所以可以使用iter.next()對象的父類型或者實現(xiàn)的接口類型??????????????????????????????????????
????}?????????????????????????????????????????????
}?????????????????????????????????????????????????
class?superTest?{}

回答不易,沒有積分也希望能多多支持。說了這么多,其實就一句,foreach()是迭代器。

2 回復(fù) 有任何疑惑可以回復(fù)我~

是這樣的。循環(huán)出來的類型要和循環(huán)的類型基本保持一致。

1 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

關(guān)于以Set集合為第二參數(shù)的foreach(第一參數(shù):第二參數(shù))

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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