集合类 位于java.util
集合 和 数组的区别:
1.数组是定长的,集合是可变长的。
2.集合提供了更多的增删改查等方法
集合体系结构:
Collection父接口: 有两个子接口List 和 Set
List的特点:有序的集合,存放的元素值是可以重复的
Set的特点 : 无序的集合,存放的元素值是不可以重复的。
List接口的实现类:ArrayList LinkedList Vector Stack
Set接口的实现类 :HashSet TreeSet
Map的特点:键值对(key-value)
Map接口的实现类:HashMap TreeMap Hashtable Properties
集合的存储结构 : 顺序存储 链式存储
ArrayList:
底层是利用数组实现顺序存储
数据结构是 线性表
常用方法:
add(Object o) 向集合末尾添加元素
add(int index,Object o) 向指定下标index插入o元素
addAll(Collection c) 将集合c中的元素全部添加到当前集合中
size() 获取集合中元素个数
remove(int index) 删除指定下标的元素
remove(Object o) 删除指定元素o (是根据equals方法来判断)
实现:指定元素o调用equals(和集合中的每个元素进行比较)
只删除第一个相同元素
set(int index,Object o)将指定下标处的元素修改为o元素
get(int index) 获取指定下标的元素
clear() 清空集合中的全部元素
contains(Object o) 判断集合中是否包含o这个元素(根据equals方法判断)
indexOf(Object o) 获取元素o在集合中的下标(根据equals方法判断)
isEmpty() 判断集合是否为空
toArray() 将集合转换成数组