list的迭代器的一道小題

2021-10-07 17:01:25 字數 856 閱讀 7880

看到一道題關於list迭代器的題:

list k =

newarraylist

<

>()

;k.add(

"lab1 ends");

irerator it = k.

iterator()

;system.out.

println

(it.

hasnext()

);it.next()

;system.out.

println

(it.

hasnext()

);k.remove(0

);system.out.

println

(it.

hasnext()

);

問控制台列印什麼

結果是

對於最後乙個為什麼列印true有點疑惑

去查了查大佬們的講list迭代器實現的部落格

發現它實現中有乙個屬性cursor指現在迭代器遍歷到的位置的下乙個

而迭代器hasnext()實現為

//private class

public boolean hasnext()

就是拿cursor和集合的size比較,不相同就說明未訪問到最後乙個元素,返回true。

在上述例子中執行it.next()之後,cursor應該指向遍歷到位置的下乙個也就是cursor=1。當執行k.remove(0)之後,size() 的結果應該變成了0,此時cursor!=size(),所以返回值為true

一道小題 整數反轉

這是一道再水不過的題。但是這道題其實會引起一些思考的 這道題解法一定很多 初見這道題時,大多數人想的思路應該就是直接暴力 數字轉字串。但是這樣未免太低階了。在高階點就是,反轉其實可以用棧。一步一步用vector 推進去 或者用棧推進去然後輸出就行了 中間要判斷是否溢位,還有0和負號的一些處理 但是還...

java 與 一道小題引發的思考

第一眼看這個題,以為會編譯不通過,結果正確答案會輸出 true。ps 是乙個賦值運算子,賦給某個變數乙個具體的值。是乙個比較運算子 1 基本型和基本型進行 運算子的比較,直接比較兩個值 2 基本型和封裝型進行 運算子的比較,封裝型將會自動拆箱變為基本型後再進行比較 3 封裝型和封裝型進行 運算子的比...

初次見面!雙指標(小題一道)

初次遇見雙指標的題是在一次小測試時,那時它擁有這樣的外衣 題目 給乙個int 型陣列無序,從陣列中選出兩數字,使得這兩數字之和為 target 將這兩數字的下標作為陣列返回。一定存在乙個解 注意 對 進行優化 可能會超時。given nums 2,7,11,15 target 9,because n...