集合框架1
1、数组
主方法进栈,发现student,然后加载进内存
2、集合的由来
集合只能存储引用数据类型;在存储基本数据类型时会自动装箱变成对象
部分集合的底层也是由数组实现的;比较浪费内存
3、Collection类
接口,不能直接创建对象
add(E e)可以添加任何对象,返回值boolean(ArrayList都返回true,且重写了toString方法)
remove(E e)删除指定元素
clear()清空
boolean contains(E e)判断是否包含某元素
boolean isEmpty()判断是否为空
int size()获取集合中元素的个数
4、集合的遍历
集合的遍历要先转成数组
toArray()方法
5、collection的带all功能测试
**removeAll()方法删除的是两个集合的交集
有重复的是true,但必须保证都是一样的
retainAll()方法:取两个集合的交集:c1改变就返回true,c1没变就返回false
6、迭代器遍历
7、迭代器的原理
8、List集合特有功能概述
特有的方法:
add(index,element)在指定位置添加元素:如果index超过已有的集合长度,会出现索引越界异常
index<=size
E remove(index)删除指定位置元素,并返回该元素的object对象
E get(index)根据索引获取该位置元素
通过索引遍历List集合,只有list集合才可以采用这种方法
set(index,element)将指定位置的元素修改
9、List集合中存储学生对象并遍历
10、并发修改异常产生的原因及解决方法
并发修改:在遍历的同时再增加元素
11、ListIterator
hasPrevious()判断的是上一个,若hasNext被注释掉,那么指针指在0位置上,所以没有前一个
12、Vector的特有功能
13、数据结构之数组和链表
****数组:根据索引查找速度快,增删都需要移位,所以比较慢
****链表:查找需要从头或者从尾一个个找,或者根据索引判断距离头和尾哪个更近,再一个个找,所以慢
但是增删不需要移位,只需要地址修改地址引用即可
14、List三个子类的特点: