Collection介面為什麼不直接繼承Iterator介面?

時間 2021-09-08 23:38:26

1樓:wkGCaSS

1. Iterator是做迭代的,而Iterable是提供迭代器的。

2. 如果不設定Iterator,把next,hasNext等塞到集合裡,那麼這個集合就有了狀態,因為必須在內部記錄當前游標(cursor)所在位置。

3. 這樣是不合理的。如果這麼做就沒辦法在巢狀迴圈時對同乙個集合做迴圈。

4. 更別提多執行緒了

5. 主要原因就是上面這個,這個是「能不能」的問題,而不是「好不好」的問題,其他「因為這麼做不好」的原因就不說了。

2樓:冒泡

Collection是「可迭代的」,不代表它本身是乙個迭代器嘛,可迭代的是說,你可以對這個類(實現了Collection介面)的物件做迭代,但是迭代器是指你迭代過程中需要用到的乙個表示「迭代進度」的東西(也是乙個物件)

如果乙個物件本身也是乙個迭代器,那相當於是說,這個物件同一時間只能有乙個人對其做迭代,多個迭代者之間會互相干擾,比如說,乙個Vector如果實現Iterator介面,那麼Vector本身就有了hasNext和next方法,那這個next指的是誰的next呢,當前迭代狀態存哪?

為什麼艦隊collection所有伺服器總是爆滿卻遲遲不開新服?

高波 運營要考慮的很多的。這個遊戲有其特殊性,氪金點少,新使用者成型到氪金戰士的時間慢等決定了它不要也不能要大量的無效使用者。1.遊戲體驗。你也許覺得讓你搶號影響到你的遊戲體驗,但是因為門檻,很多人都會更珍惜這遊戲。這個遊戲的生命力就是玩家的愛,從門檻處就讓人開始珍惜,對遊戲的影響比人數更重要。2....

為什麼艦隊collection裡的金剛喜歡從下往上打?

錢烈憲 開始我也不懂後來開始玩戰艦世界才明白 戰艦最先遇到的地方部隊並不是敵方的戰艦空母而是他們的護航編隊 驅逐 輕重巡洋艦。所以戰艦先先搞掉地方的艦船是必然的。至於你說別人的戰艦都是搞旗艦的。我只能說看臉 高波 智慧型傻 晝戰傷害不高,攻擊上面皮厚的船可能無法擊穿護甲,留著夜戰打穩 心機傻 下面的...

蘋果為什麼不開放藍芽介面?

蘋果不是藍芽聯盟的,蘋果是Wi Fi聯盟的。蘋果認為藍芽太落後了,距離短速度慢,耗電。要不是消費者太想要藍芽了,不然iPhone是不會有藍芽的 初代iPhone的藍芽跟沒有一樣。NFC也一樣,不是NFC陣營的,所以不用。這不叫費力不討好,這就好比,你擺著x會主義制度不使用 宣傳而去宣傳 使用敵對陣營...