JAVA 集合框架简介

1. JAVA 集合框架主要分三部分, set , list 和 Map

(1)List 列表

特点:列表中的元素可重复,  元素有先后顺序

list 存储以及相关实现类, 如图:

JAVA 集合框架简介

 继承list接口的类主要有 LinkedList, Vector, ArrayList。

其中 vector 和 ArrayList底层是数组结构,两者的区别在于 Vector中的方法使用了synchronized 关键字来修饰, 这个关键字是需要等待线程的,从而vector 中的方可以使法线程安全。但同时影响了程序性能, Arraylist则反之,线程不安全,但是性能较高。 而在使用中vector几乎不使用了,因为性能低,对于线程安全, Arraylist 也可以做到,使用List list = Collections.synchronizedList(new ArrayList(...)) 可以是List 变成线程安全。

而LinkedList 和 Arraylist的区别在于底层结构的不同, Arraylist 底层是数组结构,LinkedList是链表结构, 所以两者的区别就在于数组和链表的特性,数组结构:插入和删除的速度比较慢但是查询比较快。而链表结构:插入和删除的速度比较快但查询速度比较低。至于怎样使用看具体情况。PS LinkedList也没有用synchronized关键字来修饰

 

 (2)Set 集合

特点:元素不可重复,且元素没有顺序

Set 存储以及相关实现类, 如图:

JAVA 集合框架简介