Set接口实现类-HashSet
HashSet的全面说明
- HashSet实现了Set接口
- HashSet实际上是HashMap
- 可以存放null值,但是只能有一个null
- HashSet不保证元素是有序的,取决于hash后,在确定索引的结果。(即不保证存放元素的顺序和取出的顺序一致)
- 不能有重复元素/对象。
import java.util.HashSet;
import java.util.Set;
public class HashSet_ {
public static void main(String[] args) {
Set hashSet = new HashSet();
//HashSet可以存放null,但是只能有一个null
hashSet.add(null);
hashSet.add(null);
System.out.println("hashSet = " + hashSet);
}
}
import java.util.HashSet;
@SuppressWarnings({"all"})
public class HashSet01 {
public static void main(String[] args) {
HashSet set = new HashSet();
//1.在执行add方法后,会返回一个boolean值
//2.如果添加成功,返回true,否则,返回false
//3.可以通过remove指定删除哪个对象
System.out.println(set.add("test1"));//T
System.out.println(set.add("test2"));//T
System.out.println(set.add("test1"));//F
System.out.println(set.add("test3"));//T
System.out.println(set.add("test4"));//T
set.remove("test1");
System.out.println("set = " + set);//3个
//
set = new HashSet();
System.out.println("set = " + set);
//4.HashSet不能添加相同的元素/数据
set.add("test1");//添加成功
set.add("test1");//加入不了
set.add(new Dog("test1"));//OK
set.add(new Dog("test1"));//Ok
System.out.println("set = " + set);
set.add(new String("wsh"));//OK
set.add(new String("wsh"));//加入不了
System.out.println("set = " + set);
}
}
class Dog{
//定义Dog类
private String name;
public Dog() {
}
public Dog(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Dog{" +
"name='" + name + '\'' +
'}';
}
}