1123--collection接口,list接口,set接口
目录
一 java
1. 集合
2. 集合框架图--remember
3. collection接口
3.1 collection接口的常用方法
3.1.1 add()
3.1.2 remove()-返回删除后的对象
3.1.3 contains()--返回布尔值
3.1.4 size()
3.1.5 isEmpty()
3.1.6 clear()
3.1.7 addAll(--有要添加元素的集合---)
3.1.8 removeAll(--要删除元素的集合--)
3.2 collection接口(即实现子类遍历元素)遍历元素的方式
3.2.1 使用迭代器Iterator
1)迭代器原理
2)例子----重要!!!
3)当退出迭代器的while循环后,iterater迭代器指向最后的元素,如果需要再次遍历:
3.2.2 使用增强for循环
1)例子
4. list接口和常用方法
4.1 常用方法
1)例子编辑
4.2 List 接口实现类的三种遍历方式
4.3 集合中的排序---例子
4.4 ArrayList 注意事项
4.5 vector
4.6 linkedlist
4.7. list类型的选择-- arraylist 和 linkedlist比较
5. set接口和常用方法
5.1 常用方法
1)存入顺序是随机的,一旦存入便固定了 ,按照固定的顺序再取出
5.2 遍历方式
1)迭代器
2)增强循环
5.3 hashset
1)不保证存入次序
2)数据不能重复
5.3.1方法细则
5.3.2 数据不能重复--细节!!!!!
5.3.3 重要例子:【525】
1)如何重写 hashcode方法
2)重写equals和hashicode方法:!!!!!!!!!
5.4 LinkedHashSet
1)重写equals和hashicode方法!!!!!!!!!!! 【同上】
二 ***重难点***
1. 接口 类型的对象名---可以指向 实现该接口的实现子类的对象
2. object类是所有类的父类
3. 类的toString方法:动态绑定,输出当前类的信息【当前类的属性为private时】
4. 编译类型和运行类型
5. 定义方式
一 java
1. 集合
2. 集合框架图--remember
单列集合:
双列集合:
3. collection接口
collection接口没有直接的实现子类,通过子接口 set 和 list ---有实现子类
3.1 collection接口的常用方法
【以实现子类ArrayList 为例:】
3.1.1 add()
3.1.2 remove()-返回删除后的对象
3.1.3 contains()--返回布尔值
3.1.4 size()
3.1.5 isEmpty()
3.1.6 clear()
3.1.7 addAll(--有要添加元素的集合---)
3.1.8 removeAll(--要删除元素的集合--)
3.2 collection接口(即实现子类遍历元素)遍历元素的方式
3.2.1 使用迭代器Iterator
1)迭代器原理
注意:
2)例子----重要!!!
3)当退出迭代器的while循环后,iterater迭代器指向最后的元素,如果需要再次遍历:
---再定义一次
3.2.2 使用增强for循环
注意:for中的元素类型 应该是哪种类型!!!!
底层就是迭代器【增强for就是简化版的迭代器】
1)例子
用Object类不用Book类:col扔出来的数据是Object类
4. list接口和常用方法
4.1 常用方法
1)例子
4.2 List 接口实现类的三种遍历方式
4.3 集合中的排序---例子
4.4 ArrayList 注意事项
4.5 vector
4.6 linkedlist
4.7. list类型的选择-- arraylist 和 linkedlist比较
5. set接口和常用方法
5.1 常用方法
1)存入顺序是随机的,一旦存入便固定了 ,按照固定的顺序再取出
5.2 遍历方式
不能使用索引方式
1)迭代器
2)增强循环
5.3 hashset
1)不保证存入次序
2)数据不能重复
5.3.1方法细则
add方法---返回boolean值
remove()指定删除某个对象
5.3.2 数据不能重复--细节!!!!!
原因:如何 判断数据 是否相同
先比较 hash值------->>> 再用equals比较是否相等
友情提示:String重写了hashcode 所以只要内容一样的String对象返回相同的hashcode值
5.3.3 重要例子:【525】
1)如何重写 hashcode方法
2)重写equals和hashicode方法:!!!!!!!!!
-----得到重写后的方法:
重写equals和hashicode方法后:【重写后的方法:如果值equals相等,那么hashcode也相等】
5.4 LinkedHashSet
1)重写equals和hashicode方法!!!!!!!!!!! 【同上】
二 ***重难点***
1. 接口 类型的对象名---可以指向 实现该接口的实现子类的对象
2. object类是所有类的父类
3. 类的toString方法:动态绑定,输出当前类的信息【当前类的属性为private时】
4. 编译类型和运行类型
编译类型:要调用哪种对象类型的方法 就要保证是同种的编译类型
运行类型:涉及 动态绑定,调用重写后的方法等
------进而 会涉及到向上转型和向下转型的问题
5. 定义方式
----也可以是 ArrayList list = 。。。。
----也可以是hashSet set = 。。。。
接口 List 不能创建对象(不能 new List()),只能创建实现了接口的子类对象(new ArrayList)