求一个好的方法判断一个集合中值是否重复
解决方案 »
- 构造方法中的this关键字
- 在调用obj.wait()前为什么要先得到obj的monitor
- 请问Java如何设置header让服务器发送普通页面而不是gzip压缩过的页面?
- Swing中什么控件可以显示文字,并可以设置文字的颜色和大小。
- 关于JAVA发mai的问题,我弄了个源代码,里面import javax.mail包,我找遍了JDK1.5也没有这个包阿!请大家指点
- java的path和classpath的区别是?
- 如何实现文件搜索?
- 做java 的项目,请各位提提意见........散分
- classpath的困惑
- 送分了!!!!!!!!!
- java中的main方法,为什么是静态(static)的?
- 卡牌游戏。消息机制的问题
int indexOf(Object elem)
boolean contains(Object o)
不过有些集合判断重复是调用equals方法判断的,有的集合需要调用equals和hashCode方法判断,所以注意一下你的类重写一下这些方法就好了。
if (new HashSet<String>(list).size() == list.size()) {
return true;
} else {
return false;
}
}
/**
* @param collection 要判断的集合
* @return 集合的元素是否唯一
* @throws NullPointerException 如果参数null
*/
public static boolean isUnique(Collection<? extends Object> collection) {
return collection.size() == new HashSet(collection).size();
}
HashSet h=new HashSet();
int i=11000;
while(i--> 0)
{
xx x=new xx(得到的整形参数);
if(!h.contains(x))
{
h.add(x);
} }
}
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
HashSet <TT> set = new HashSet <TT> ();
set.add(new TT(1));
set.add(new TT(2));
System.out.println(set);
set.add(new TT(1));
System.out.println(set); } } class TT{
int a;
public TT(int a){
this.a = a;
} public int hashCode(){
return a;
} public boolean equals(Object o){
return o instanceof TT ? ((TT)o).a==a : false;
} public String toString(){
return " "+a;
}
}