目录
集合
作用:
存储一组数据类型相同的引用数据类型的数据
与数组的区别
1.数组长度恒定,需要扩容;集合长度可变
2.数组可以存储基本数据类型和引用数据类型;集合只能存储引用数据类型
泛型
作用:
将数据类型作为值进行传递
泛型的定义:
语法<?,?,..>
位置:类上,方法上,集合
体系
collection(接口)
List(接口)
特点:有序,有下标,可重复
子类:
ArrayList
数据结构:数组
特点:查询速度快,增删效率慢,线程不安全,多线程的情况下效率高
出现时间:JDK1.2
LinkedList
数据结构:链表
特点:增删效率高,查询速度慢
Vector
数据结构:数组
特点:查询速度快,增删效率慢,线程安全的,多线程情况下效率慢
出现时间:JDK1.0
Set(接口)
特点:无序,无下标,不可重复
子类:
HashSet
数据结构:红黑树+哈希表
TreeSet
数据结构:红黑树+?
LinkedHashSet
数据结构:红黑树+哈希表+链表
Queue(接口)
Collection提供的方法
增:
boolean add(E e):添加一个元素
boolean addAll(Collection<? extends E> c);
删:
boolean remove(Object o):删除指定元素
boolean removeAll(Collection<?> c);
void clear():清空
改:
查:
int size():查询集合长度
boolean isEmpty():判断集合是否为空
boolean contains(Object o):查找集合中是否存在指定的数据
boolean containsAll(Collection<?> c):当前集合中是否包含指定集合中的元素
Object[] toArray():将集合转换为数组
Iterator<E> iterator():获取迭代器
```
List提供的方法
```
增:
void add(int index, E element):在指定位置插入元素
boolean addAll(int index, Collection<? extends E> c);
删:
E remove(int index);
改:
E set(int index, E element);
查:
E get(int index);
int indexOf(Object o);
int lastIndexOf(Object o);