猿问

如何使用iterator判断重复呢?

在网上搜索到很多关于Set.iterator()来判断Set中是否有重复元素,但是究竟怎么判断却没有说.不知道哪位大侠能指导下小弟?
比如我建立了一个HashSet
Set set=new HashSet();
set.add("hello");
set.add("hello");

这样里面就有相同的字符串了,请问怎么判断啊?
是这样的,我昨天去面试,考官问我如何判断Set中有没有重复元素,我想不出来,后来面试完了,考官告诉我使用iterator()可以判断.我不是很明白,我获得这个iterator接口后应该怎样处理才能得到Set是不是有重复元素.大侠们能给我举个例子么?(另外能说下什么叫相同的元素么?)谢谢啦
***************************************
sankun1013 : 我就是你这么想的,获得 iterator 后 ,然后遍历,可是我怎么知道是不是有重复的元素呢? 假如有重复的话,用next()是看不出来的除非你去数完所有的元素然后在和size()比较看看是不是大了,但是那样很慢的哦,有什么好办法啊?能给出点例子么?谢谢啦~
tanzhimei393: 你回答中只是用 iterator 来遍历,然而没有用来判断重复元素.我希望你能给出例子来,谢谢

潇湘沐
浏览 385回答 2
2回答

阿波罗的战车

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 就是相同的元素了

红颜莎娜

冒泡排序for(i=0;i<set.size();i++){for(j=i+1;j<set.size();j++){if(set.get(i).equals(set.get(j))){//在这里面就可以判断了j--;}}}
随时随地看视频慕课网APP

相关分类

MongoDB
我要回答