21_JavaSE_HashSet类和HashMap类

1. 简介

在这一节,我将 HashSet 和 HashMap 放在一起讲解。因为实际上 HashSet 和 HashMap 的实现原理是相似的,HashSet 底层是基于 HashMap 来实现的。

2. HashSet

首先来讲 HashSet 的特点:
1、不能存储重复元素
2、可以存储 null 值
3、无序
4、不是线程安全的

HashSet 的初始化:

HashSet<E> hashSet = new HashSet<E>();

主要方法:

add() 添加一个元素
remove() 删除指定值的元素(注意,因为其值是无序的,因此当然没有根据索引去删除的方法,又因为其值是不重复的,因此,根据值去删除只会删除一个或零个)
size() 返回元素的个数
contains() 判断元素是否存在
isEmpty() 判断 HashSet 是否为空
可以使用传统 for 来迭代元素,也可以使用增强 for (for-each)来迭代

3. HashMap

HashMap 存储的是一个个键值对键必须是唯一的,允许插入一个 null 记录,无序,线程不安全,键值对的类型可以不相同(例如键的类型是 Integer,值的类型是 String)。

HashMap 的初始化:

HashMap<E, T> hashMap = new HashMap<E, T>();

常见方法:

put(键,值)  添加一组元素
get(键) 根据键获取值
remove(键) 根据键删除一组元素
replace(键,值) 替换指定键的值
clear() 清空整个 HashMap
size() 返回 HashMap 元素的个数
isEmpty() 判断 HashMap 是否为空
containsKey(键) 判断 HashMap 是否包含指定的键
containsKey(值) 判断 HashMap 是否包含指定的值
keySet() 返回 HashMap 中存在的所有键组成的 Set 集合
entrySet() 返回 HashMap 中存在的所有键值对组成的 Set 集合
values() 返回 HashMap 中存在的所有 value 值
可以使用传统 for 来迭代元素,也可以使用增强 for (for-each)来迭代
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执章学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值