java Collection学习,javacollection学习
java Collection学习,javacollection学习
java Collection理解
我一直不太理解java里面的集合架构,今天花了一些时间对其进行全面的学习。
Collection是一个接口,它是集合的祖宗。
集合和数组最大的区别是集合只能存储引用数据类型,不能存储基本数据类型;还有就是集合的长度是可变的,数组是不可变的。
java Collection 架构是:
Collection
|
--------------------------------------------------------------------------------------------
| |
List Set
---------------------------------- -----------------------------------
| | | | |
ArrayList Vector LinkedList HashSet TreeSet
Collection,List和Set都是接口,List和Set继承Collection。
Collection特点:Collection没有成员变量变量,只有增删改查方法。Collection有下标
List的特点:List是有序集合,可重复,有下标。
ArrayList的特点:它是List的子类,其内部封装了一个可变长度的数组,默认大小为10。由于每个元素都有下标,所以查询速度很快。 当需要查询数据的时候使用最好
Vector的特点:Vector与ArrayList一样,也是通过数组实现的,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性, 实现同步需要很高的花费,因此,访问它比访问ArrayList慢。
LinkedList的特点:它也是List的子类,为链表结构,长度可变。由于是链表所以增加与删除第一与最后一个的速度快。 当需要频繁对元素进行增删的时候用最好
Set的特点:Set是Collection的子类,也是接口,但无序,元素不重复
HashSet的特点:它是Set的子类,底层是hash表结构,所以查询速度比较快
TreeSet的特点:他也是Set的子类,底层是二叉树结构 。进行自然排序,所以存取的数据是有序的
提到集合也会想到Map,它也是接口。它没有继承Collection接口。Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。
它的子类有HashMap和HashTable.
相关文章
- 暂无相关文章
用户点评