Set集合、Map集合学习-Java基础学习总结

本文详细介绍了Java集合类中HashSet、LinkedHashSet、TreeSet、HashMap、Hashtable、TreeMap的特点及使用方式,包括它们的数据结构、线程安全性、存储特性等,并对比了HashMap与Hashtable的区别。

7月17,18日学习内容总结

对HashSet、LinkedHashSet、TreeSet、HashMap、Hashtable、TreeMap内容了解

HashSet

HashSet:底层数据结构是哈希表,元素无序,唯一,线程不安全,效率高,集合元素可以为null值 ;
HashSet:保证元素唯一性,是通过重写equals()和hashCode()(确定元素在链表中的位置)方法来保证;

LinkedHashSet

LinkedHashSet: 底层数据结构是链表和哈希表,元素唯一,且有序,线程不安全,效率高
其中链表保证有序,哈希表保证元素 唯一

TreeSet

TreeSet :底层数据结构是二叉树,元素唯一,且能对元素进行排序

TreeSet 排序

自然排序:即采用空参构造,要求元素必须实现Comparable接口,重写该接口中的compareTo()方法,根据此方法的返回值的正负0来决定元素的放置顺序


比较器排序:使用有参数构造,需要传一个比较器Comparator,重写该接口中的compare()方法根据此方法的返回值的正负0来决定元素的放置顺序




所有Map集合的数据结构,只跟键有关,跟值没关系,一个键只能映射一个值(即一键一值)

HashMap

HashMap: 键的数据结构是哈希表,键唯一,但存入的东西并不是按照添加顺序添加;允许存入null键和null值,线程不安全效率高;

Hashtable

与HashMap 的区别:
HashMap 允许存储null键和null值,且线程不安全效率高;但是 Hashtable 不允许null键和null值,且线程安全效率低

TreeMap

TreeMap:键的数据结构是红黑树,可保证键的排序和唯一性 ,线程不安全,效率比较高
排序:自然排序、比较器排序 (可以对应TreeSet排序);

Map集合的遍历

方法一:使用keyset()获取所有键,此时生成一个set集合
遍历set集合,调用get(key)方法,来获得对应的值
方法二:获取键值对,使用entryset() 方法,此时生成一个set集合,遍历set集合,调用特有的:getkey() ,get value() 方法

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值