java

导航

JavaSet集合:HashSet类

来源 :中华考试网 2020-11-18

  HashSet 类

  HashSet 是 Set 接口的典型实现,大多数时候使用 Set 集合时就是使用这个实现类。HashSet 是按照 Hash 算法来存储集合中的元素。因此具有很好的存取和查找性能。

  HashSet 具有以下特点:

  不能保证元素的排列顺序,顺序可能与添加顺序不同,顺序也有可能发生变化。

  HashSet 不是同步的,如果多个线程同时访问或修改一个 HashSet,则必须通过代码来保证其同步。

  集合元素值可以是 null。

  当向 HashSet 集合中存入一个元素时,HashSet 会调用该对象的 hashCode() 方法来得到该对象的 hashCode 值,然后根据该 hashCode 值决定该对象在 HashSet 中的存储位置。如果有两个元素通过 equals() 方法比较返回的结果为 true,但它们的 hashCode 不相等,HashSet 将会把它们存储在不同的位置,依然可以添加成功。

  填写下面表单即可预约申请免费试听java课程!害怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

  也就是说,两个对象的 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 hss = new HashSet(); // 创建泛型的 HashSet 集合对象

分享到

您可能感兴趣的文章