读Java编程艺术之笔记(集合类概述)

首先看看集合类与数组的不同之处:
  1.集合类是Java的扩充API类,而数组是Java语言本身的数据结构;
  2.集合储存的对象多少是动态可变的,而数组的大小是静态不变的;
  3.集合只可用储存对象,而数组可用类储存基本类型数据,或者对象;
  4.集合使用方法,如add()或者iterator(),来添加或访问对象,而数组使用下标;
  5.集合游踪多的方法可调用,用来进行各种操作,而数组只有少数方法可以使用。

下图列出了Java的集合类及其继承关系(图转自http://baike.baidu.com/picview/1848852/1848852/0/263e802fe8883c231f3089b9.html#albumindex=0&picindex=0

  Collection接口定义了集合类的基本方法,并由HashSet、ArrayList,以及LinkedList来完善。接口Set和List的作用是将集合类分为不同功能的两大类,即不允许有重复元素的Set以及允许有重复元素的ArrayList和LinkedList。

  集合类由两个独立的接口(Collection和Map)组成,但它们有着许多相同的操作方式。所不同之处在于对元素的储存方式(Map以key-value的形式保存值)。

接口 解释
Collection 定义了Collection集合类操作的基本方法,如size(),isEmpty(),contains(),add(),remove(),iterator()等15个方法。从Iterable接口接口继承而来。
Set 定义不允许重复元素的集合类的基本操作方法。继承Collection中定义的所有方法。
List 定义允许重复元素的集合类的基本操作方法。除继承了Collection中定义的所有方法外,还定义了对一些方法的重载签名,并增添了新的方法。 
Map 定义了Map集合类操作的基本方法,如containsKey(),containsValue(),keySet(),put(),values()等14个方法。它本身是一个根接口。

 

 

 

   常用Collection接口中的集合类

Collection集合类 解释
ArrayList 数组式结构的集合类。其大小可自动调整。保持元素添加的位置。对元素的有序和随机访问非常有效,但不在结尾处添加元素时效率较低
LinkedList 与ArrayList相似,但应用连接式结构。不在结尾位置添加和删除元素时非常有效
HashSet 应用Hash码储存无重复元素的集合类。储存的元素必须完善hashCode()方法以保证其唯一性。 

 

 

   常用Map接口中的集合类

Map集合类 解释
HashMap 与HashSet相似,但它们属于不同的接口。以key-value对的形式储存无重复元素。一个key只能引用一个对象值。
TreeMap 与HashMap相似,但以树(Tree)的数据结构储存元素。元素必须是以key-value形式储存。一个key只能引用一个对象值。自动按照对象key排序。

posted on 2013-03-25 10:03  夜月升  阅读(229)  评论(0)    收藏  举报

导航