**********************************************************************
Java集合框架
**********************************************************************
作业讲解:
Vehical:
属性:车牌号 品牌 年限 日租金
方法:计算租金方法 抽象
Car:
属性: 排量
方法:重写 计算租金方法
Truck
属性:吨位
方法:重写 计算租金
今日内容:
1、迭代器 两种
2、set集合
HashSet
TreeSet
3、Queue集合 了解(扩展)
4、Map
集合中存放的数据,遍历方式
循环:for foreach
Java的集合框架还提供了迭代器方式来遍历集合
Demo1.java
iterator 迭代器 hasNext() next()
【注意】在迭代过程中,不许并发操作,例如添加、删除集合元素
如果在迭代过程中要添加、删除元素
使用iterator的子类 ListIterator
ListIterator
提供了 add() 把对象添加到集合中
remove() 删除集合中的元素
previous() 指针上移动
hasPrevious() 判断当前指针的上方是否有元素
练习:使用ListIterator 正序读完后,倒序读取
set集合:无序 元素值唯一
实现类1:HashSet
实质是通过Table来存放数据的,把集合元素存在Table中时,
会对每个元素的地址进行编码,这个编码称为hashCode 哈希码
张学森 同一个字符串 哈希码值是相同的
HashSetDemo
Object类中的方法:作用产生哈希码
String 重写了hashCode()方法,根据字符串的值来产生一个哈希码
自己的类中没有重写Object类中的hashCode(),按照地址产生哈希码
实现类:TreeSet
同HashSet使用方式、方法都相同,只是底层的存储结构不同。