天天看点

HashSet 详解HashSet 详解

HashSet 详解

创建

特点

  • 唯一,值不可重复。但是不同类型的可重复
    HashSet<Object> set=new HashSet<Object>();
               
    插入 1,“1” 可视为不同值
  • 值可为null,但只能插入一个null,因为null也不能重复
  • 无序,不是按照插入顺序。内部会自动排序。

​ 插入 5,5,4,4,3,3,2,2,1,1,null,null。

​ 输出 null,1,2,3,4,5

方法

  • int size() ,获取set大小,null也算。
  • boolean isEmpty() ,判断set是否为空
  • boolean contains(Object o),判断元素是否存在
  • boolean add(E,e),添加元素
  • boolean remove(Object o),删除元素
  • void clear(),清空set所有元素

遍历

方法一:

HashSet<String> set=new HashSet<String>();
set.add("5");
set.add("5");
set.add("4");
set.add("4");
set.add("3");
set.add("2");
set.add("1");
set.add(null);
set.add(null);
set.add("null");

for(String s:set){
    System.out.print(s+",");
}
           

输出:null,1,2,3,4,null,5, (一个是null,一个是字符串“null”)

方法二:

HashSet<String> set=new HashSet<String>();
set.add("5");
set.add("5");
set.add("4");
set.add("4");
set.add("3");
set.add("2");
set.add("1");
set.add(null);
set.add(null);
set.add("null");

Iterator<String> it=set.iterator();
while (it.hasNext()){
    System.out.print(it.next()+",");
}
           

输出:null,1,2,3,4,null,5, (一个是null,一个是字符串“null”)

还有啥想到再补充~~

继续阅读