一 集合
1.什么是集合?
是一个容器 可以存放各种对象
2.集合的分类
根据存储元素的方式
a.collection 单个存储
b.map 键值对存储
3.Collection
Collection是一个接口 他有两个非常重要的子接口
List : 有序可重复
Set : 无序不可重复
注意:集合中的有序指的是 先入先出
4.List接口
ArrayList : 底层是数组 增删慢 查找快 线程不安全的
LinkedList : 底层是链表 增删快 查找慢
Vector : 底层是数组 增删慢 查找快 线程安全的
数组特点:长度一旦确定 将不可改变 但是数组有下标
链表特点: 每个节点互相独立 只有相邻节点可以联系
5.Set接口
HashSet : 底层是hash表
每一个引用对象都有hashcode <哈希值>
hash表在一定程度上集合了数组与链表的优点
既增删快 又查找快
SortedSet<接口>
TreeSet: 底层是红黑树
6.Collection的常用方法
1.添加元素
添加单个元素: add(Object o);
添加多个元素: addAll(Collection c);
2.删除元素
删除单个元素:remove()
删除多个元素: removeAll()
3.包含元素
contains()
containsAll()
4.清除元素
clear()
5.集合是否为空
isEmpty()
6.集合中元素个数
size()
数组---》 集合 asList()
集合---》 数组 toArray()
7.iterator() : 获得当前集合的迭代器
迭代器:
迭代:就是遍历 就是将集合里面所有元素输出
迭代器:用来输出集合所有元素的一个工具
只有collection有迭代器
collection的子类里面都有一个迭代器内部类
这个迭代器内部类继承了Iterator
Iterator的两个要掌握的方法
1.判断有没有下一个
boolean hasNext()
2.拿到下一个
Object next()