1、前言
1.1由来
Java是面向对象的语言,我们在编程的时候自然需要存储对象的容器,数组可以满足这个需求,但是数组初始化时长度是固定的,但是我们往往需要一个长度可变化的容器,因此,集合出现了。
1.2集合与数组的区别
(1)长度区别:集合长度可变,数组长度不可变
(2)内容区别:集合可存储不同类型元素,数组存储只可单一类型元素
(3)元素区别:集合只能存储引用类型元素,数组可存储引用类型,也可存储基本类型
1.3集合概述
Java集合框架图:
注:上图中粉红色的为接口,紫色的和蓝色框为实现类。
Java集合要从两大接口说起,一为Collection接口,二为Map接口,它们是同一个层次的。
Collection接口被List接口和Set接口继承;
List接口有三个实现类,ArrayList,LinkedList,Vector;
Set接口被HashSet类实现,被SortedSet接口继承,同时TreeSet类实现SortedSet接口,LinkedHashSet类继承HashSet类;
Map接口有两个实现类,HashMap,HashTable,同时Propertise类继承HashTable;
Map接口被SortedMap接口继承,同时TreeMap类实现了SortedMap接口;
2、详述
2.1Collection接口(单列集合)
Collection接口是单列集合的最顶层接口,定义了一些通用的方法。
add(E e)添加元素; clear()清空元素; remove(E e)移除元素; size()元素数量;
toArray()集合转数组; contains(E e)判断元素是否存在; isEmpty()判断集合是否为空;
2.1.1List 接口
特点:有索引,精准操作元素;
元素有序,存储及取出时顺序一致;
元素可重复,通过。equals()比较是否重复。
它利用索引(index),定义了一些特殊方法:
get(int index,E e) 获取指定位置的元素;remove(int index)移除指定位置的元素;
add(int index,E e) 将元素添加到指定位置;set(int index,E e) 用元素替换指定位置的元素;
|