1.因为数组有很多缺点,如初始化就不能改变,删除插入的操作效率很低
所以引入了集合框架这个概念
2.Collection接口下边有list和set接口
list接口,是有序的、可以通过下表精确的控制插入的位置、可以通过下标访问指定位置的元素,包括遍历元素
set接口,元素不可以重复,元素是无序存在的
list接口的实现类主要有ArraryList类、Vector类、LinkedList类
ArrayList类:定义:首先创建一个指定长度的数组,当要保存的元素超出数组的长度时,重新创建一个更长的新数组
特点:元素以数组的形式保存、长度可以改变,根据其中的元素个数改变、允许为NULL值
构造方法:ArrayList():构建一个初始长度为10的空列表
ArrayList(int):构造一个制定长度的空列表
ArrayList(Collection):根据参数构建一个列表
常用方法;add(int ,E) 在指定下标位置插入一个新的元素
add(E)在列表尾部追加一个元素
clear()青空列表
get(int)获取指定位置的元素
remove(int)删除指定位置的元素
remove(object)从列表中删除某个对象的元素
set(into,E)替换列表中的指定位置的元素
size()返回列表中的元素的个数
遍历方法 1.for
2.foreach
3.iterator 迭代器遍历方法 hasNext() 判断迭代器是否有下一个元素;next()获取迭代器中的下一个元素
set接口的实现类
HashSet类
特点:无序、允许null值
构造方法:默认的初始容量是16,加载因子是0.75(16*0.75)加载量
常用方法:
add(E): 系那个set中添加元素
clear()清除set中所有的元素
remove(object)将元素从set'中删除
size()返回set中元素的数量
遍历方法:可以使用foreach遍历、可以使用迭代器遍历
Map接口:不是collection的子接口
是通过键值对来存放数据元素的(key,value)
键值对:反映键与值的对应关系,一个键对应一个值
map的接口实现类:
HashMap类:
特点:允许null值和null键、无序的、可以有多个值对应一个键,允许重复的值存在
构造方法:默认的初始容量是16,加载因子是0.75(16*0.75)加载量
常用方法:
get(key'):通过key查询所对应的值
put(key,value )向Map中添加一个键值对
remove(key) 从map中移除一个键值对
遍历:
keyset()返回包含所有key的set集合
getkey()通过key查询value