Java 集合类 List/Set/Map 的区别和联系 1(2009-04-01 21:34:53)
一、Array , Arrays
Java 所有“存储及随机访问一连串对象”的做法,array 是最有效率的一种。
1、
效率高,但容量固定且无法动态改变。
array 还有一个缺点是,无法判断其中实际存有多少元素,length 只是告诉我们
array 的容量。
2、Java 中有一个 Arrays 类,专门用来操作 array。
arrays 中拥有一组 static 函数,
equals():比较两个 array 是否相等。array 拥有相同元素个数,且所有对应元素两
两相等。
ll():将值填入 array 中。
sort():用来对 array 进行排序。
binarySearch():在排好序的 array 中寻找元素。
System.arraycopy():array 的复制。
二、Collection , Map
若撰写程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使
用容器类库,array 不适用。
1、Collection 和 Map 的区别
容器内每个为之所存储的元素个数不同。
Collection 类型者,每个位置只有一个元素。
Map 类型者,持有 key-value pair,像个小型数据库。
2、各自旗下的子类关系
Collection
--List:将以特定次序存储元素。所以取出来的顺序可能和放入顺序不同。