集合
- collection和Iterator接口
- 作用,批量存储数据
- 特点,存储数量不等的多个对象,抽象为可变长度的object数组
collection
- 保存单个的对象
- 方法
- boolean add(Object o);//添加指定对象,基本类自动装箱
- void clear()
- boolean contains(Object o)
- boolean remove()
- int size()
- 实现子类
- Set接口 : 保存单个对象,无序,不可重复
- HashSet具体类
- 使用哈希算法类实现的set集合
- equals() 和 hashcode一致,为重复
- 数组实现,哈希算法来计算下标偏移量。
- 使用哈希算法来实习散列表。
- 对内存要求高,插入,删除,检索速度快。
- SortedSet接口,有序,二叉树实现,存放对象必须可比
- TreeSet具体类,用红黑树结构来实现有序
- 内部使用TreeMap来维护。
- TreeMap实现红黑树,并在每次插入和删除的时候进行维护,而带来检索速度的飞速提升。
- 实现了自然排序,所以添加的元素之间要可以比较大小
- 去重规则为comparTo结果为0
- 二查搜素数,红黑树
- 可以添加比较器来区别元素
- TreeSet具体类,用红黑树结构来实现有序
- HashSet具体类
- List接口:保存单个,有序存放,可以重复
- ArrayList具体类,用数组实现的List集合
- void add(int index,Object obj); //向集合中指定下标插入一个新元素
- Object get(int indexx) //从集合中获取指定下标的元素
- Object set(int index, Object obj) //把集合中指定下标中的元素替换为新元素,返回老元素
- Object remove(int index) //删除指定元素
- 数组的局限性,内存要求连续
- LinkedList 基于链表实现的集合
- 链表的局限性,不可以随机访问
- vevtor 可变数组,速度低,不建议使用
- ArrayList具体类,用数组实现的List集合
- Set接口 : 保存单个对象,无序,不可重复
集合工具类
- 一般名词后面加s为工具类
- reverse(list) 反转
- shuffle(list) 排序,乱序
- sort(List[, Comparator]) 排序,可定制,
- max(List) 最大值
- min(List) 最小值
- 同步控制
- synchronizedcccc(),线程安全函数,可以使用类来包装
- Enumeration 枚举器,老版本迭代器
- List asList(List) 返回list,不能添加。