java容器

来源:互联网 发布:node sass 自动编译 编辑:程序博客网 时间:2024/06/06 08:24

java中典型的容器继承与依赖关系如下



1. List 列表可以将元素维护在特定的序列中:

(1) ArrayList 擅长随机访问元素,但插入删除元素较慢,内部实现为数组

(2) LinkedList 随机访问速度较慢,但插入删除元素较快,内部实现为双向链表


2.Set 不保存重复元素的集合,即equals方法相等的对象不能同时出现在set中

(1) HashSet内部使用的是HashMap散列,所以其是无序的,但查找较快

(2) TreeSet将元素存储在红黑树结构中,所以是有序的,使用comparable

(3) LinkedHashSet为有序的hashset,但顺序是按照其插入顺序


3.Map

(1) HashMap内部采用散列机制,key靠hashCode散列,equals解决散列冲突,无序,查找快

(2) TreeMap将元素存储在红黑树结构中,所以是有序的,使用comparable

(3) LinkedHashMap为有序的hashset,但顺序是按照其插入顺序

github repo   https://github.com/hzllblzjily/container


4.Queue 提供了队列的操作,可以采用fifo(linkedlist)或comparable大小进出(PriorityQueue),其提供的是接口的定义,之后可以用在多线程队列blocking queue中

0 0