Java基础知识:集合框架

1.集合框架

集合接口:代表集合的抽象数据类型。如:Collection、List和Map

具体实现类:是集合接口的具体实现。如:ArrayList、LinkedList和HashMap

算法:是实现集合接口的对象里的方法执行的一些有用的计算。如:Collections

集合框架体系图:


二.集合接口

1.Collection接口,是最基本的集合接口,Java不提供直接继承自Collection的类,只提供继承于它的子接口。

2.List接口,是一个有序的Collection,使用此接口能够精确的控制每个元素插入的位置,能够通过索引来访问List中的元素,第一个元素的索引为0,而且允许有相同的元素。

List:有序,允许重复,通过索引精确查找;(List有序重复)

3.Set接口,是一个无序的Collection,不允许有重复的元素。

4.Map接口,将唯一的键映射到值。

Set和List的区别:

1.Set接口实例存储的是无序的,且不可以重复的数据;List接口实例存储的是有序的,可以重复的元素。

2.Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变(实现类有HsahSet、TreeSet)

3.List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。查找元素效率高,插入删除效率低,因为会引起其他元素位置改变(实现类有AaaryList、LinkedList、Vector)

三.具体实现类

1.List接口实现类:

(1)LinkedList实现了List接口,允许有null元素,主要用于创建链表数据结构,该类没有同步方法,如果多个线程同时访问一个List,则必须自己实现访问同步,LinkeList查找效率低。

(2)ArrayList实现了List接口,实现了可变大小的数组,随机访问和遍历元素时,提供更好的性能。

2.Set接口实现类:

(1)HashSet实现了Set接口,不允许重复元素,不保证集合中元素的顺序,允许包含值为null的元素,但最多只能一个。

(2)TreeSet,实现了Set接口,可以实现排序等功能。

3.Map接口实现:

(1)HashMap实现了Map接口,是一个散列表,它存储的内容是键值对(key-value)映射。该类实现了Map接口,根据键的HashCode值存储数据,具有很快的访问速度,最多允许一条记录的键位null,不支持线程同步。

(2)HashTable

4.Vector类:

该类和ArrayList相似,但是该类是同步的,可以用在多线程的情况,该类允许设置默认的增长长度,默认扩容方式为原来的2倍。

5.Stack栈:

栈Stack是Vector的一个子类,实现了一个标准的先进后出的栈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值