快速理解Java集合(深层理解)

1、集合是什么?

数组其实就是一个集合。集合实际上就是一个容器。可以来容纳其它类型的数据。

1.2、集合不能直接存储基本数据类型,另外集合也不能直接存储java对象,

集合当中存储的都是java对象的内存地址。(或者说集合中存储的是引用。)
		list.add(100); //自动装箱Integer
		注意:
			集合在java中本身是一个容器,是一个对象。
			集合中任何时候存储的都是“引用”。

1.3、在java中每一个不同的集合,底层会对应不同的数据结构。往不同的集合中

存储元素,等于将数据放到了不同的数据结构当中。什么是数据结构?数据存储的
结构就是数据结构。不同的数据结构,数据存储方式不同。例如:
	数组、二叉树、链表、哈希表...
	以上这些都是常见的数据结构。

你往集合c1中放数据,可能是放到数组上了。
你往集合c2中放数据,可能是放到二叉树上了。
.....
你使用不同的集合等同于使用了不同的数据结构。

你在java集合这一章节,你需要掌握的不是精通数据结构。java中已经将数据结构
实现了,已经写好了这些常用的集合类,你只需要掌握怎么用?在什么情况下选择
哪一种合适的集合去使用即可。

new ArrayList(); 创建一个集合,底层是数组。
new LinkedList(); 创建一个集合对象,底层是链表。
new TreeSet(); 创建一个集合对象,底层是二叉树。
.....

1.4、集合在java JDK中哪个包下?

java.util.*;
		所有的集合类和集合接口都在java.util包下。

1.5、为了让大家掌握集合这块的内容,最好能将集合的继承结构图背会!!!

集合整个这个体系是怎样的一个结构,你需要有印象。

1.6、在java中集合分为两大类:

一类是单个方式存储元素:
	单个方式存储元素,这一类集合中超级父接口:java.util.Collection;

一类是以键值对儿的方式存储元素
	以键值对的方式存储元素,这一类集合中超级父接口:java.util.Map;

2、总结重点:

ArrayList:底层数组
LinkedList:底层是双向链表
Vector:底层是数组,线程安全的,效率较低,使用较少
HasSet:底层是HashMap,放到HashSet集合中的元素等同于放到HashMap集合key部分了。
TreeSet:底层是TreeMap,放到TreeSet集合中

第一个重点:把集合继承结构图背会。
第二个重点:把Collection接口中常用方法测试几遍。
第三个重点:把迭代器弄明白。
第四个重点:Collection接口中的remove方法和contains方法底层都会调用equals,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值