一、为什么要用集合框架
当需要容纳一定量的数据时,我们首先想到的可能是数组。但对于数据大小不确定,无法初始化时的元素个数的时候,无法使用数组来存储数据。
当两个对象具有一一对应关系的啥时候,比如一个人和他的身份证号码会一一对应。这种情况也无法通过数组解决。
这时候就可以选择JAVA集合框架了!
二、JAVA集合框架的内容
Java框架由以下三部分:
1、接口
Collection是最基本的接口,一个Collection代表一组元素。
List接口继承Collection接口。List是有序集合,允许有相同元素。
Map提供键(Key)到值(Value)的映射。一个Map中不能有相同的Key。每个Key只能映射一个Value。
1、具体类
实现List接口的常用类有ArrayList类和LinkedList类。它们都可以容纳所有类型的对象,包括null。
1、算法
Java集合框架提供了类Collections,它提供了对集合进行排序的多种算法实现。
三、List接口
1、ArrayList类
1)ArrayList类是List接口的一个具体实现类。
2)ArrayList对象实现了可变大小的数组。
3)采用线性列表的方式存对象,所以随机访问和遍历元素时,它的效率比较高。
4)当元素个数增加时,大小会变为:X+X/2+1
5)常用方法
add(object)方法用来存取对象;
get(index/object)方法用来获取对象;
remove(object)方法用来移除对象。
2、LinkedList类
1)LinkedList类是List接口的一个具体实现类。
2)LinkedList类用于创建链表数据结构
3)采用链表的方式存对象,所以插入或删除元素时,它可以提供更好的性能。
4)常用方法
LinkedList提供了额外的方法,下列红色标注即是。
add(object)方法用来存取对象;
addFirst(object)方法用来在最前面存取对象;
addLast(object)方法用来在最后面存取对象;
get(object)方法用来获取对象;
getFirst(object)方法用来获取最前面的对象;
getLast(object)方法用来获取最后面的对象;
remove(index/object)方法用来移除对象;
removeFirst(object)方法用来获取最前面的对象;
removeLast(object)方法用来获取最后面的对象;
三、Map接口
1)Map接口用户维护“键值对”的 关联性,可以通过键去查找值。
2)HashMap是Map接口的一个具体实现类
3)HashMap可采用键值对存值,可以有空键空值。
4)常用方法
put(key,value)用来存值;
get(key)用来获取值;
remove(key)用来移除该键值;
keySet()用来获取map中所有的键集;
values()用来获取map中所有的值集;