集合:Set系列集合、Map集合体系 精炼讲解

本文深入探讨了Java集合框架中的Set系列集合,包括HashSet、LinkedHashSet和TreeSet的特性和底层原理。详细解析了哈希表和哈希值的概念,以及JDK8中HashSet的改进。同时,介绍了Map集合的常见实现,如HashMap、LinkedHashMap和TreeMap的使用及遍历方法。还提到了自定义排序规则和集合工具类Collections的知识。
摘要由CSDN通过智能技术生成

Set 系列集合
Set 系列集系概述

 

Set系列集合特点

无序:存取顺序不一致
不重复:可以去除重复
无索引:没有带索引的方法,所以不能使用普通 for 循环遍历,也不能通过索引来获取元素。

Set集合实现类特点

HashSet : 无序、不重复、无索引。
LinkedHashSet: 有序 、不重复、无索引。
TreeSet: 排序 、不重复、无索引。

Set集合的功能上基本上与CollectionAPI一致。

总结:

1. Set 系列集合的特点。
无序、不重复、无索引。
2. Set 集合的实现类特点。
HashSet 无序、不重复、无索引。
LinkedHashSet 有序 、不重复、无索引。
TreeSet 可排序 、不重复、无索引。

 Set系列集合

HashSet 元素无序的底层原理:哈希表

 HashSet底层原理

HashSet 集合底层采取 哈希表 存储的数据。
哈希表是一种对于增删改查数据性能都较好的结构。

哈希表的组成

JDK8之前的,底层使用数组+链表组成

JDK8开始后,底层采用数组+链表+红黑树组成。 

在了解哈希表之前需要先理解哈希值的概念

哈希值

JDK根据对象的地址按照某种规则算出来的int类型的数值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值