欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java容器一:Collection概述

程序员文章站 2022-04-29 18:07:12
Collection概览 java容器有两类,第一类是Collection,存储的是对象的集合;第二类是Map,存储的是键值对(两个对象以及它们之间的对应关系)的集合 Collection接口下面有三个子接口:Set、List、Queue Set:存储的元素无序、不允许重复 1、TreeSet:用红 ......

collection概览

java容器一:Collection概述

 

java容器有两类,第一类是collection,存储的是对象的集合;第二类是map,存储的是键值对(两个对象以及它们之间的对应关系)的集合

 

collection接口下面有三个子接口:set、list、queue

set:存储的元素无序、不允许重复

1、treeset:用红黑树实现,支持有序性操作,读取设置元素的代码复杂度为o(logn)

2、hashset:用哈希表实现,但是不能维护对象插入顺序,读取元素的代码复杂度为o(1)

3、linkedhashset:用哈希表实现,且内部用一个链表来维持对象插入顺序

 

list:存储的元素有序,允许重复

1、arraylist:动态数组实现,非线程安全,支持下标随机访问,增加和删除元素都要移动其他元素

2、vector:和arraylist内部实现基本相同,但是为方法都加了synchronize控制,因此是线程安全的,但是读写效率比arraylist低

3、linkedlist:双向链表实现,不支持随机访问,增加和删除元素方便,读取元素需遍历。同时linkedlist还实现了queue接口,因此也可以做栈、队列、双向队列使用

 

queue:存储的元素有序且按照先进先出的特点,允许重复

1、linkedlist

2、priorityqueue:不是按照队列的插入顺序来确定先进先出顺序