Java学习笔记(9)-- 通俗易懂的类集复习框架!看着框架复习更有效率!!!

通俗易懂的类集复习框架!看着框架理解类集更有效率!!!

自己整理的有关于类集上的知识点框架,都是大概的轮廓,可以照着轮廓去理解各个接口及方法,类集部分接口真的是神多!!

主要是按照Collection接口下的各个子接口来引入和理解~

在这里插入图片描述

下面是一些知识点小记:

ArrayList、Vector、LinkedList的区别

1.ArrayList、Vector的区别:
1).出现版本:
ArrayList JDK1.2
Vector JDK1.0 (出现在List、Collection接口之前)
2).初始化策略区别
Vector在无参构造执行后将对象数组大小初始化为10
ArrayList采用懒加载策略,在构造方法阶段不初始化对象数组,在第一次添加元素是才初始化对象数组大小为10

3).扩容策略
ArrayList扩容时,新数组大小变为原数组的1.5倍,
Vector扩容时,新数组大小变为原数组的2倍

4).线程安全性:
ArrayList采用异步处理,线程不安全,效率较高
Vector采用在方法上加锁,线程安全,效率较低(即便要使用线程安全的List,也不用Vector)

5).遍历:
Verctor支持较老的迭代器Enumeration,
ArrayList不支持

2.ArrayList和Vector的相同点
底层均使用数组实现

3.ArrayList、LinkedList的不同点
LinkedList底层采用双向链表实现,ArrayList底层采用数组实现

HashSet与HashMap

HashSet(无序存储) – HashMap
1、底层使用哈希表+红黑树
2、允许存放null,无序存储

TreeSet(有序存储)Comparable、comparator – TreeMap
1.底层使用红黑树
2.不允许出现空值,有序存储
3.自定义类要想保存到TreeSet中,要么实现Comparable接口,要么向TreeSet传入比较器(Compartor接口)

Comparable接口与Comparator接口

1.Comparable是排序接口,若一个类实现了Comparable接口,意味着该类支持排序,是一个内部比较器(自己去和别人比)

2.Comparator接口是比较器接口,类本身不支持排序,专门有若干个第三方的比较(实现了Comparator接口的类)来进行类的排序,是一个外部比较器(策略模式)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值