Java集合框架的简单介绍
在编程时有些场景需要用到Java的集合框架,这篇博文将介绍在Java系统里的集合框架。
Java提供了大量持有对象的方式:
- 数组
-
Collection
保存单一的元素,Map
保存相关联的键值对。各种Collection和各种Map
都可以在你向其中添加更多元素时自动调整其尺寸。 - 向数组一样,List也建立数字索引与对象的关联,因此数组和List都是拍好序的容器。List能自动扩充容量。
- 如果要进行大量的随机访问,就使用
ArrayList
;如果要经常从表中间插入或删除元素,则使用LinkedList
. - 各种
Queue
及栈的行为,优LinkedList提供 -
Map
是一种将对象与对象相关联的设计,HashMap 设计用来快速访问;LinkedHashMap保持元素插入时的顺序,但是也通过散列提供快速访问能力。 -
Set
不接受重复元素。HashSet提供最快的查询速度,LinkedHashSet以插入顺序保存元素
Collection
List
List有两种基本类型:ArrayList和LinkedList
ArrayList
ArrayList长于随机访问元素,但是在List的中间插入和移除元素时比较慢。下面来列举几个ArrayList的常用API
- contains()用于确定某个对象是否在列表中。
- remove()方法移除一个对象,将这个对象的引用传递给remove()方法
- indexOf()方法用来获取某个对象在List中的所处位置的索引编号
- subList()方法将从较大的列表中创建出一个片段。
- retailAll()方法时List的交集操作
LinkedList
LinkedList实现基本的List接口。下面介绍LinkedList中的一些方法
- getFirst()方法返回列表的头,如果List为空,则抛出异常
- removeFirst()移除并返回列表的头元素,在列表为空时抛出异常
- addList()和addLast()相同,将某个元素插入到列表的头部或尾部
- removeLast()移除并返回列表的最后一个元素
Queue
Queue是先进先出的容器,从容器的一端放入事物,从另一端取出,并且事物放入容器顺序与取出的顺序相同,队列常常被当作一种可靠的将对象从程序的某个区域传输到另一个区域的途径,下面介绍在Queue中的方法:
- offer()方法将一个元素插入到队尾,或者返回false
- peek()和element()都将在不移除的情况下返回对头,peek()方法在队列为空时返回null,element()则会抛出异常信息。
- poll()和remove()方法将移除并返回对头,当队列为空时poll()返回空,而remove()会抛出异常
Map
Map
是以一种键值对的方式存储元素,HashMap
是Map的子类。下面介绍有关Map的几个常用方法:
- get():通过键K获取元素的值
- put():传入
K-V
键值对,方法将K-V键值对存入Map中
参考资料
《Java编程思想》