01_集合框架(对象数组的概述和使用).
基本类型数据,以前是int[] arr {};
对象数组, Student [] arr = {new Student(),new Student()};
对象数组中每一个元素存储的都是地址值
arr[1] 结果应该是第二个元素的地址值(不重写toString之前.)
-------------------------------------------------------------------------------------------------------------------------------
02_集合框架(集合的由来及集合继承体系图).
集合和数组的区别
集合:
1 集合长度可变
2 只能存储引用数据类型
3 同一集合中可以存储多种数据类型(存多个数据类型没意义)
数组:
1 长度不可变
2 即可存储基本类型也可以存储引用数据类型
3 同一个数组中只能存储一种数据类型
集合的体系
Collection 接口 特点继承自上面的集合:
List 接口 特点 存取有序,有索引,可重复
ArrayList
LinkedList
Vector
Set 接口 存取无序,无索引,唯一
HashSet
TreeSet
-------------------------------------------------------------------------------------------------------------------------------
03_集合框架(Collection集合的基本功能测试).
A:添加元素
boolean add( Object obj )
想集合中添加元素
B:删除元素。
void clear()
清空集合中所有的元素
boolean remove( Object obj)
删除指定元素
C:判断功能。
boolean isEmprty()
判断集合是否为空.
boolean contains( Object o )
判断集合中是否包含指定元素
D:长度功能。
int size()
获取集合的长度.
数组:.length属性
字符串:length()方法
集合:size()方法
-------------------------------------------------------------------------------------------------------------------------------
04_集合框架(集合的遍历之集合转数组遍历).
-------------------------------------------------------------------------------------------------------------------------------
05_集合框架(Collection集合的带All功能测试).
boolean addAll( Collection c ) (了解即可非重点)
向集合中添加一个集合的元素
boolean removeAll( Collection c )(了解即可非重点)
从集合中删除一个指定的集合元素
boolean containsAll( Collection c ) (了解即可非重点)
判断集合中是否存在指定的一个集合中的元素
boolean retainAll( Collection c ) (了解即可非重点)
取交集
-------------------------------------------------------------------------------------------------------------------------------
06_集合框架(集合的遍历之迭代器遍历).
想要遍历用到了以下三个方法
Collection接口中的iterator()方法
通过集合对象获取迭代器对象
Iterator类中的 boolean hasNext()
判断集合中是否还有元素,(一般咱么把它放在while的判断条件)
Iterator类中的 next()
获取下一个元素
java.util.NoSuchElementException
报这个错就是 集合中没有元素你还要去获取就出问题了.
-------------------------------------------------------------------------------------------------------------------------------
07_集合框架(迭代器的原理及源码解析).
-------------------------------------------------------------------------------------------------------------------------------
08_集合框架(List集合的特有功能概述和测试).
List 接口特有功能
A:添加功能
void add( int index, Object obj )
向指定索引处添加数据
B:删除功能
Object remove( int index )
删除指定索引处的元素(返回被删除的元素)
C:修改功能
Object set( int index, Object obj )
用指定元素替换集合中指定索引处的元素(返回的是被替换的元素)
D:获取功能
Object get( int index )
获取集合中指定索引处的元素
-------------------------------------------------------------------------------------------------------------------------------
09_集合框架(List集合存储学生对象并遍历).
get()方法和size()方法结合的方式遍历集合,只有List体系下的集合才能使用
Set 集合下是不能使用这种方式遍历的,因为Set集合中没有get方法
-------------------------------------------------------------------------------------------------------------------------------
10_集合框架(并发修改异常产生的原因及解决方案).
1、并发修改异常怎么产生的 ConcurrentModificationException
就是在使用迭代器遍历集合的过程中对集合进行了增加或删除.
怎样解决并发修改异常?
1 遍历的时候使用get方法和size方法结合的方式
2 使用List特有的迭代器 ListIterator 并且使用 ListIterator 中的add方法.
-------------------------------------------------------------------------------------------------------------------------------
11_集合框架(ListIterator).
-------------------------------------------------------------------------------------------------------------------------------
12_集合框架(Vector的特有功能).
-------------------------------------------------------------------------------------------------------------------------------
13_集合框架(数据结构之数组和链表).
数组结构:查询快,增删慢
链表结构:查询慢,增删快
-------------------------------------------------------------------------------------------------------------------------------
14_集合框架(List的三个子类的特点).
ArrayList
底层是数组结构,查询快,增删慢
线程不安全,效率高
Vector
底层是数组结构,查询快,增删慢
线程安全,效率低
LinkedList
底层是链表结构,查询慢,增删快
线程不安全,效率高.
查询多:ArrayList
修改多:LinkedList |
|