Java中的hash结构总结:HashSet、HashMap、HashTable

本文深入解析Java中的HashSet、HashMap和HashTable,包括它们的特点、接口方法、添加元素过程及子类特性。重点讨论HashSet的无序性和HashMap的高效查找,以及它们与线程安全的HashTable的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Java中常用的Hash结构只有HashSet和HashMap两类,HashTable是HashMap的一种子类,下面对它们的继承关系,接口方法进行总结。

Java集合框架概述

  1. 因为三者都是Java集合体系中的一部分,所以先介绍java的集合框架
    在这里插入图片描述

  2. HashSet是Collection接口中Set中的一部分,所以这里展示Collection的接口继承树
    在这里插入图片描述

  3. HashMap和HashTable是Map接口中的一部分,这是Map的接口继承树
    在这里插入图片描述

一、HashSet部分

1.HashSet接口方法(也就是Collection的接口方法)

因为 Set接口是Collection的子接口,set接口没有提供额外的方法

  1. 添加
    add(Object obj)
    addAll(Collection coll)
  2. 获取有效元素的个数
    int size()
  3. 清空集合
    void clear()
  4. 是否是空集合
    boolean isEmpty()
  5. 是否包含某个元素
    boolean contains(Object obj):是通过元素的equals方法来判断是否是同一个对象
    boolean containsAll(Collection c:也是调用元素的equals方法来比较的。拿两个集合的元素挨个比较。
  6. 删除
    boolean remove(Object obj):通过元素的equals方法判断是否是要删除的那个元素,只会删除找到的第一个元素 boolean removeAll(Object coll):去当前集合的差集
  7. 取两个集合的交集
    boolean retainAll(Collection c):把交集的结果存在当前集合中,不影响c
  8. 集合是否相等
    boolean equals(Object obj)
  9. 转成对象数组
    Object[] toArray()
  10. 获取集合对象的哈希值
    hashCode()
  11. 遍历
    iterator():返回迭代器对象,用于集合遍历

2.HashSet特点

  1. HashSet 是 Set 接口的典型实现,大多数时候使用 Set 集合时都使用这个实现类
  2. HashSet 按 Hash 算法来
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值