JAVA HashSet怎么使用(怎么才插入时不插入重复数据...9
发布网友
发布时间:2024-02-20 02:32
我来回答
共4个回答
热心网友
时间:2024-08-04 01:53
import java.util.*;
public class HastSet
{
public static void main(String[] args)
{
HashSet hs=new HashSet();
hs.add(new Student(1,"zhangsan"));
hs.add(new Student(2,"lisi"));
hs.add(new Student(3,"wangwu"));
hs.add(new Student(1,"zhangsan"));
Iterator it=hs.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
class Student
{
int num;
String name;
Student(int num,String name)
{
this.num=num;
this.name=name;
}
public String toString()
{
return "num="+num+" "+"name="+name;
}
public int hashcode()
{
return num * name.hashCode();
}
public boolean equals(Student s)
{
return num==s.num && name.equals(s.name);
}
}
不可以插入相同的对象,像上面的Student,有2个具有相同的num和name,但是因为不是同一个对象,仍然可以被插入。
热心网友
时间:2024-08-04 01:52
Set set = new HashSet();不能插入重复数据
List list = new ArrayList();可以插入重复数据
热心网友
时间:2024-08-04 02:00
如果随机的话 建议使用LinkedSet
热心网友
时间:2024-08-04 01:59
Set hs=new HashSet();
Set这个集合类本身就是不插入重复数据的。