java Set集合,HashSet类详细介绍

KLQ 2020-08-25 14:47:30 java常见问答 4735

下面要给大家介绍的就是java Set集合方面的内容,本文主要讲到了HashSet类的一些知识,主要包括了HashSet类的特点,HashSet 类的常用构造方法重载形式以及代码演示了创建两种不同形式的HashSet对象等内容,一起来了解一下。

HashSet是Set接口的典型实现,大多数时候使用Set集合时就是使用这个实现类。

HashSet是按照Hash算法来存储集合中的元素,所以的话,具有很好的存取和查找性能。

HashSet特点:

HashSet特点

在向HashSet集合当中存入一个元素的时候,HashSet会调用该对象的hashCode()方法来得到这个对象的hashCode值,之后,根据这个hashCode值决定该对象在HashSet当中的存储位置。

假如有两个元素通过equals()方法比较返回的结果为true,可是,它们的hashCode不相等,HashSet 就会将它们存储在不同的位置,照样能够添加成功。

也就是两个对象的hashCode值相等且通过equals()方法比较返回结果为true,那么HashSet集合认为两个元素相等。

在HashSet类当中,实现了Collection接口中的所有方法。

下面是HashSet类的常用构造方法重载形式:

HashSet()---构造一个新的空的set集合;

HashSet(Collectionc)---构造一个包含指定Collection集合元素的新Set集合。

其中,“< >”中的extends表示HashSet的父类,即指明该Set集合中存放的集合元素类型,c表示其中的元素将被存放在此Set集合中。

创建两种不同形式的HashSet对象代码:

HashSet hs = new HashSet(); // 调用无参的构造函数创建HashSet对象
HashSet<String> hss = new HashSet<String>(); // 创建泛型的 HashSet 集合对象

示例:

编写一个Java程序,使用HashSet创建一个Set集合,并向该集合中添加4套教程。

public static void main(String[] args)
{
    HashSet < String > courseSet = new HashSet < String > (); // 创建一个空的 Set 集合
    String course1 = new String("教程1");
    String course2 = new String("教程2");
    String course3 = new String("教程3");
    String course4 = new String("教程4");
    courseSet.add(course1); // 将 course1 存储到 Set 集合中
    courseSet.add(course2); // 将 course2 存储到 Set 集合中
    courseSet.add(course3); // 将 course3 存储到 Set 集合中
    courseSet.add(course4); // 将 course4 存储到 Set 集合中
    System.out.println("总教程有:");
    Iterator < String > it = courseSet.iterator();
    while (it.hasNext())
    {
        System.out.println("《" + (String) it.next() + "》"); // 输出 Set 集合中的元素
    }
    System.out.println("有" + courseSet.size() + "套精彩教程!");
}

程序运行输出的结果:

总教程有:
教程1
教程2
教程3
教程4
有4套精彩教程!

java Set集合,HashSet类的详细介绍,你都清楚了吗?更多和java Set集合相关的java基础知识,可以继续通过奇Q工具网来进行了解呢。

推荐阅读:

java set集合,set集合常用方法有哪些?

hashset的存储方式及存储原理介绍

hashset底层实现原理详解,原理介绍