云沙

博客园 首页 联系 订阅 管理

JCF(Java Collections Framework)即Java中运用最为广泛的Java集合类,它是Java对常用数据结构的封装,包含于java.util包中。所谓集合就是在类内部对数据进行组织的载体,Java API提供了一系列类的实例,用来在程序中存放对象,Java集合将接口和实现进行了分离。其接口与类的结构如下:

JCF接口结构

Iterable

|__Collection

|__List

|__Set

|__SortedSet

|__Queue

Map

|__SortedMap

Iterator

|__ListIterator

RandomAccess


JCF类的结构

AbstractCollection

|__AbstractList

|__AbstractSequentialList

|__LinkedList

|__ArrayList

|__AbstractSet

|__HashSet

|__TreeSet

|__AbstractQueue

|__PriorityQueue

AbstractMap

|__HashMap

|__TreeMap


由上述结构我们可以看出,整个Java集合类中主要包括了三个类型:集合(Set)、列表(List)和映射(Map)

集合:可形象的理解为是一个袋子,里面放的是一个个对象,它的无序且没有重复的;

列表:可理解为是串在一条绳上的蚂蚱,排列有一定的顺序且元素可重复;

映射:可理解为是一张n行两列的表,由一个键值对组成,其中key值不能重复

不过在实际运用中,我们有时也需要进行对集合中的元素进行排序输出,或直接定位一个元素等操作,因而也就出现了实现了这三个接口的Java中的常用集合类

1.ArrayList

ArrayList是Java中最为常用也是最为重要的一个类。它实现了一个大小可变的数组,我们知道在Java中数组的长度一旦声明就无法进行更改,因而对于一些不可预知长度的数组声明就变得非常麻烦,空间小了则无法存储后来添加的数据,空间大了则浪费资源。ArrayList的出现无疑给这种话麻烦画上了一个句号,它可以随着数据量的增长由Java内部机制自动地调整数组容量,做到资源的合理分配

2.LinkedList

LinkedList实现了数据结构中的链表(包括单向和双向链表),它通过前驱与后继结点将一系列元素有序的链接在一起,可以在任何位置高效地插入和删除元素

3.HashSet

HashSet就是一个可以快速定位到某个元素的集合,其集合内部元素是根据元素的散列码存放的,因而能够进行快速定位,要求其中的元素都覆写了hashCode方法

4.TreeSet

TreeSet是一个对中元素进行过排序的集合,要求其中的元素都实现了Comparable接口并覆写compareTo方法

5.EnumSet

EnumSet是一个只包含枚举类型的集合

6.LinkedHashSet

LinkedHashSet是一个可以记住元素被插入顺序的集合

7.PriorityQueue

PriorityQueue是一个可以高效的移除最小元素的集合

8.HashMap

HashMap是一中通过散列码存储键值关联的数据结构

9.TreeMap

TreeMap存储键值有序的Map集合

10.EnumMap

EnumMap存储键值属于枚举型的Map集合

posted on 2010-11-01 12:11  fragrancloud  阅读(472)  评论(2编辑  收藏  举报