3 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊
接口 Iterator
專門的迭代輸出接口,將元素一個(gè)個(gè)進(jìn)行判斷,用hasNext() 判斷是否有值,用next()方法把元素取出。
hasNext()
如果仍有元素可以迭代,則返回 true。
next()
返回迭代的下一個(gè)元素。
經(jīng)驗(yàn)的總結(jié)是只要碰到了集合輸出的操作,就一定要使用Iterator接口,因?yàn)檫@是最標(biāo)準(zhǔn)的做法。
接口 ResultSet
表示數(shù)據(jù)庫結(jié)果集的數(shù)據(jù)表,通常通過執(zhí)行查詢數(shù)據(jù)庫的語句生成
ResultSet 對象具有指向其當(dāng)前數(shù)據(jù)行的光標(biāo)。最初,光標(biāo)被置于第一行之前。next 方法將光標(biāo)移動(dòng)到下一行;因?yàn)樵摲椒ㄔ?ResultSet 對象沒有下一行時(shí)返回 false,所以可以在 while 循環(huán)中使用它來迭代結(jié)果集。
這個(gè)是用做數(shù)據(jù)庫操作的。
所以兩者是沒有必要比較的,用的地方不一樣,只要會熟練應(yīng)用就夠用了。

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
hasnext:迭代器檢查是否能返回下一個(gè)元素,返回值是boolean;
next:返回當(dāng)前索引的下一個(gè)元素,如果所以不對會引發(fā)異常.
ResultSet的next,有些類似于hasnext,在結(jié)果集中向下移動(dòng)一個(gè)指針,如果指向的下一個(gè)結(jié)果不存在,則返回false

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
iterator接口的hasnext()方法和resultset的next()方法一樣都是用來放在while循環(huán)中當(dāng)做循環(huán)條件的,如果調(diào)用該方法返回true則循環(huán)繼續(xù)下去,否則終止循環(huán)。
iterator接口的next方法返回該集合的下一個(gè)元素
resultset的next()方法,每調(diào)用一次,游標(biāo)后移一個(gè),當(dāng)resultset游動(dòng)到最后一行,再調(diào)用next()方法會返回false,并且游標(biāo)也到了最后一行的后面
- 3 回答
- 0 關(guān)注
- 826 瀏覽
添加回答
舉報(bào)