为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用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 关注
  • 367 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号