java:Set集合中HashSet的常用方法及其使用

  • Post author:
  • Post category:java


Set集合

首先我们来了解Set集合,Set继承了Collection接口,Set中使用到的方法都是从Collection中继承的,它自己并没有声明其他的方法。

Set接口中所包含的方法如下,实现Set的类也实现了这些接口。

  • int size();   //获取集合中元素的个数;
  • boolean isEmpty();    //判断集合是否为空;
  • boolean contains(Object element)    //判断是否包含某元素;
  • boolean add(E element)    //向集合中添加某元素;
  • boolean remove(Object element)    //从集合中移除某元素;
  • Iterator<E> iterator();    //返回当前集合元素的反复器 iterator;
  • void clear();    //清空当前集合;

JDK中提供了实现Set接口的3个实用的类:HashSet 类、TreeSet 类和 LinkedHashSet 类。

接下来我们主要讲讲HashSet类。

HashSet类是采用Hash表实现了Set接口。一个HashSet对象中元素存储在一个Hash表中,其中的元素有个特性:

没有固定的顺序。

另外,它还具有唯一性,这是通过

重写hashCode()和equals()方法来实现的。



HashSet的常用方法请参考上文中讲到的方法。

HashSet常用方法示例

1.创建存放字符串的HashSet集合

Set<String> hashset = new HashSet<>();

2.像集合中添加元素

hashset.add("123");
hashset.add("456");
hashset.add("789");

3.判断集合是否为空

boolean empty = hashset.isEmpty();
System.out.println(empty);

4.判断集合是否包含123

boolean contains = hashset.contains("123");
System.out.println(contains);

5.移除123并打印输出

hashset.remove("123");
System.out.println(hashset);

6.使用迭代器来输出HashSet

Iterator<String> iterator = hashset.iterator();
while (iterator.hasNext()){
    System.out.println(iterator.next());
}

输出结果:

  1. false
  2. true
  3. [456,789]
  4. 456
  5. 789

HashSet中的无序性

public static void main(String[] args) {
        // 创建存储字符串的HashSet集合
        Set<String> objects = new HashSet<>();
        // 往集合中添加元素
        objects.add("123");
        objects.add("aa");
        objects.add("a");
        // 获取迭代器,遍历集合所有元素
        Iterator<String> iterator = objects.iterator();
        while(iterator.hasNext()){
            System.out.println(iterator.next());
        }
    }

输出结果:

1.aa

2.a

3.123



版权声明:本文为Xixicjj原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。