Java入門第三季集合框架下中的collections問題
do{ k=random.nextInt(); }while(integerList.contains(k)); 為什么能判斷不重復?whlie中包含的條件意思應該是當interList中含有該k,繼續執行循環語句嗎?
do{ k=random.nextInt(); }while(integerList.contains(k)); 為什么能判斷不重復?whlie中包含的條件意思應該是當interList中含有該k,繼續執行循環語句嗎?
2017-06-03
舉報
2017-08-25
這個do??? while循環在FOR循環里面,而for循環已經把k值添加進list了,所以能判斷啊
2017-06-03
我是覺得是這樣的。執行contains方法的時候是調用integerList中的每個元素的equal方法與參數中的int值進行比較(此int參數應該被自動裝箱成Integer類型了),然后如果integerList中有和參數相等的元素返回true。
2017-06-03
好巧,正好系統把你的問題推送我了呢。第一次回答問題,有點小激動的說。你理解的沒錯呀,要勇于肯定自己。
這個就是一個典型的do-while循環,先用random.nextInt()生成一個隨機數,然后用IntegerList.contains()方法判斷是否已經存在該值,如果存在就重新生成。IntegerList相當于一個容易,每次生成隨機數放到這個容器里檢查一遍是不是已經存在了