一、Java集合概述
1.1、什么是集合?
集合就是将若干用途相同、近似的“数据”结合成一个整体。
1.2、集合的分类
集合从体系上分为三种:Set(集),List(列表),Map(映射)
- 列表(List):List集合区分元素的顺序,允许包含相同的元素。
- 集(Set):Set集合不区分元素的顺序,不允许包含相同的元素。
- 映射(Map):Map集合保存的”键”-“值”对,“键”不能重复,而且一个“键”只能对应一个“值”。
Java集合中只能保存引用数据类型,也就是保存的是对象的地址,而非对象本身。集合中元素相当于引用类型的变量。
1.3、Java集合类框图
1.3.1、由Collection接口引申:
1.3.2、由Map接口引申:
1.3.3、常用的集合类
1.3.4、集合全面体系图
说明:类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractCollection,AbstractList,AbstractMap等,而点线边框的是接口,比如Collection,Iterator,List等。
二、Collection和Iterator接口
2.1、概述
在Collection接口中声明了适用于Java集合(只包括Set和List)的通用方法。因此Set和List对象可以调用以上方法,Map对象不可以。
Iterator接口隐藏了底层集合的数据结构,向客户程序提供了遍历各种数据集合的统一接口。
如果集合中的元素没有排序,Iterator遍历集合中元素的顺序是任意的,并不一定与集合中加入元素的顺序是一致的。
2.2、Collection接口中的方法:
Collection方法举例:
public class javatest {
public static void main(String args[]) {
Collection c = new ArrayList();
c.add("Hello World!"); //添加String类型对象
c.add(new Integer(100)); //添加Integer类型对象
c.add(new Float(2323.45f)); //添加Float类型对象
System.out.println(c.size());
System.out.println(c);
}
}
三、List接口以及实现类
3.1、List接口
List是Collection的子接口,实现List接口的容器中存放的对象是有顺序的,而且可以重复。List容器中存放的对象都有一个整数型的序号,记录该对象在容器中的位置,可以根据序号来访问容器中的元素。
JDK提供实现List接口的类有ArrayList、LinkedList等。相关方法如下:
Object get(int index)
Object set(int index,Object obj)
void add(int index,Object obj)
Object remove(int index)
int indexOf(Object obj)
int lastIndexOf(Object obj)