21_JavaSE_HashSet类和HashMap类

Posted Jack·Kwok

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)来迭代

以上是关于21_JavaSE_HashSet类和HashMap类的主要内容,如果未能解决你的问题,请参考以下文章

20200527----python学习第21天

20200527----python学习第21天

day21接口类和抽象类,隔离原则,开放封闭原则,多态

C++学习21 基类和派生类的赋值

python类和对象-扩展

Java_类和方法笔记