星期五, 九月 14, 2007

JAVA笔记-06-集合

278
  1. 阵列(array)的特点:每个元素必须是相同类型的;可以通过索引区别并存取;第一个元素的索引为0;另外,数列的长度是不可更改的。
  2. 声明和实例化的方式:double[] temps = new double[31];初始化后每个元素的值都是0.0。
  3. 每个阵列引用都是对象,所以才有temps.length的用法。
  4. 阵列共有9种类型:8种基础类型(byte、char、short、int、long、float、double、boolean)和对对象的引用。
  5. Employee[] teams = new Employee[500];配置空间,但没有实例化。
  6. 阵列直接初始化只能用在刚声明的时候,比如int[] tmps = {1,5,3};
  7. arraycopy()函数可以完成阵列之间的转移、截取等操作;该函数可直接调用。
  8. JAVA集合框架三大基础分类:列表(List)、集合(Set)、映射(Map)。
  9. List用索引存取,允许重复元素和null元素,常用的有阵列(array)、向量(vector)、ArrayList和LinkedList。
  10. 集合不允许重复元素出现,常用的有HashSet、TreeSet、LinkedHashSet等。
  11. 映射中的每个元素都包含一对键值(key,value),其中key必须是唯一的,常用的有Hashtable、HashMap、IdentiryHashMap、TreeMap、WeakHashMap。
  12. 向量Vector有两个属性:容量和步长;假如步长为0,则需要扩容是仅简单的倍增。
  13. Vector 的方法:add,添加元素;addAll,添加某集合的全部元素;clear,清空;removeAll,清除指定集合中的所有元素(假如包含的话); retainAll,保留指定集合中的元素,其它的清除;setElementAt,添加元素,并把指定位置之前的所有元素清除。
  14. Vector的长处在于可以作为可变阵列使用,缺点在于效率过低,因为每次增删元素都要变动大部分元素的位置。
  15. Hashtable是一种映射键值到值的数据结构,hash是为了确定元素的唯一性。
  16. List和Hashtable分别有不同的特点和适用情况:List因为采用下标索引的方式,查询速度非常快,但每次增删需要挪动很多元素,效率很低;Vector因为采用链接的方式,增删数据效率很高,但查询速度一般。

没有评论: