亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

編程基礎_迭代和遍歷各是什么概念?二者區別和聯系是什么?

編程基礎_迭代和遍歷各是什么概念?二者區別和聯系是什么?

慕尼黑8549860 2019-04-16 20:26:45
筆者編程水平還處于初級階段,平時使用列表的時候經常用到遍歷比如://javafor(inti=0;i
查看完整描述

2 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

摳字眼的時候請多用英文
遍歷~Traverse訪問一個集合(廣義)的每個元素
迭代~Iterate反復調用同一個過程最終達成目的,這個過程如果是一個函數,那就是遞歸,如果是一個循環體,那就是狹義上的迭代。遞歸和迭代之間的關系、轉換、優化等等又是另一個故事了。
總之遍歷是目的,迭代是手段
                            
查看完整回答
反對 回復 2019-04-16
?
LEATH

TA貢獻1936條經驗 獲得超7個贊

首先想知道你確定自己的迭代栗子時java的么?我怎么記得Java中的迭代式類似如下面的代碼:
for(Stringstr:list){
System.out.println(str);//逐個輸出數組元素的值
}
遍歷:對于集合數據而言,訪問所有的數據即為遍歷。遍歷的方法可以用遞歸或者迭代。
迭代:一般是用同一個參數來表示每個集合元素,用循環來實現。
個人感覺不必背下來兩者的概念,而是要知道兩者的區別。在《EffectiveJava》中,作者推薦“使用for-each循環優先于傳統的for循環”(第二版第46條)。主要原因如下:
a).索引變量i出現三次,容易出錯;
b).有些情況下,有一定性能優勢,對邊界值只計算一次;
c).代碼更加簡潔;
d).可以預防Bug。
但是有些情況是不能使用for-each循環的:
a).過濾--如果需要遍歷集合,并刪除元素,需要顯式的迭代器,以便可以調用它的remove方法。
b).轉換--如果需要遍歷列表或者數組,并取代它部分或者全部的元素值,就需要列表迭代器或者數組索引,以便設定元素的值。
c).平行迭代--并行遍歷多個集合,就需要顯式控制迭代器或者索引變量,以便所有迭代器或者索引變量都可以得到同步前移。
更多的話樓主還是去看一下原書吧~
                            
查看完整回答
反對 回復 2019-04-16
  • 2 回答
  • 0 關注
  • 496 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號