Java集合类之Set的HashSet之常用方法的使用

相关知识

Set集合

Set 集合用于存储无序的、唯一的元素。无序就是存储元素顺序和提取顺序不同,唯一就是存储的元素不能有相同的,它主要有 HashSet 和 TreeSet 两个实现类,本实训将介绍 HashSet 集合。

什么是 HashSet 集合

HashSet 是 Set 集合的实现类,它的底层数据结构是 HashMap 哈希表结构,它确保元素唯一是通过复写 hashCode() 方法和 equals() 方法,另外,它还是无序的。

创建 HashSet 集合

使用以下代码即可创建 HashSet 集合:

  public static void main(String[] args) {
    
    
        // 创建存储字符串的HashSet集合
        Set<String> objects = new HashSet<>();
    }

HashSet 常用方法

常用方法如下表所示:

方法名 方法说明
add() 往集合中添加元素
contains() 判断集合中是否存在某元素
remove() 从集合中删除指定的元素
clear() 清除集合中所有元素
size() 获取集合中元素个数
isEmpty() 判断集合元素是否为空
Iterator() 返回元素的迭代器
常用方法使用示例:

public static void main(String[] args) {
    
    
        // 创建存储字符串的HashSet集合
        Set<String> objects = new HashSet<>();
        // 往集合中添加元素
        objects.add("123");
        objects.add("456");
        objects.add("789");
        // 判断集合是否为空
        boolean empty = objects.isEmpty();
        System.out.println(empty);
        // 判断集合是否包含元素123
        boolean contains = objects.contains("123");
        System.out.println(contains);
        // 移除集合元素123
        objects.remove("123");
        System.out.println(objects);
        // 获取迭代器,遍历集合所有元素
        Iterator<String> iterator = objects.iterator();
        while(iterator.hasNext()){
    
    
            System.out.println(iterator.next());
        }
    }

执行结果:

false
true
[456, 789]
456
789

HashSet 的无序性

在以下代码中,往集合中存储元素的顺序为:123-aa-a,输出顺序却是aa-a-123,这就是 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());
        }
    }

执行结果:

aa
a
123

HashSet 的唯一性

在以下代码中,往集合中分别添加三个元素ss、ss、how,但是最终添加进集合中的只有元素 ss 和 how(),这就是 HashSet 的唯一性,即存储的元素不能有相同的。

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

执行结果:

ss
how

猜你喜欢

转载自blog.csdn.net/qq_52297656/article/details/121270468