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

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

如何使用iterator判斷重復呢?

如何使用iterator判斷重復呢?

瀟湘沐 2022-02-18 11:11:30
在網上搜索到很多關于Set.iterator()來判斷Set中是否有重復元素,但是究竟怎么判斷卻沒有說.不知道哪位大俠能指導下小弟?比如我建立了一個HashSetSet set=new HashSet();set.add("hello");set.add("hello");這樣里面就有相同的字符串了,請問怎么判斷啊?是這樣的,我昨天去面試,考官問我如何判斷Set中有沒有重復元素,我想不出來,后來面試完了,考官告訴我使用iterator()可以判斷.我不是很明白,我獲得這個iterator接口后應該怎樣處理才能得到Set是不是有重復元素.大俠們能給我舉個例子么?(另外能說下什么叫相同的元素么?)謝謝啦***************************************sankun1013 : 我就是你這么想的,獲得 iterator 后 ,然后遍歷,可是我怎么知道是不是有重復的元素呢? 假如有重復的話,用next()是看不出來的除非你去數完所有的元素然后在和size()比較看看是不是大了,但是那樣很慢的哦,有什么好辦法啊?能給出點例子么?謝謝啦~tanzhimei393: 你回答中只是用 iterator 來遍歷,然而沒有用來判斷重復元素.我希望你能給出例子來,謝謝
查看完整描述

2 回答

?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

set里的對象是不能重復的!
你上面的方法實際上只是添加進去了一個字符串
也就是說你第二個set.add("hello");
是不會向set中添加元素的,所以不用檢查了
添加是set本身已經做了檢查的

Set set=new HashSet();
set.add("hello");
set.add("hello");
System.out.print(set.size());

結果是1 不是2
-----------------------
iterator是用來遍例的,考官說的,我只能理解成是遍例時判斷了,
對于你說的相同的元素.
set的判斷方法是 如果 a.equals(b) == true 或a,b都是null那a b 就是相同的元素了

查看完整回答
反對 回復 2022-02-21
?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

冒泡排序
for(i=0;i<set.size();i++){
for(j=i+1;j<set.size();j++){
if(set.get(i).equals(set.get(j))){
//在這里面就可以判斷了
j--;
}
}
}



查看完整回答
反對 回復 2022-02-21
  • 2 回答
  • 0 關注
  • 318 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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