T5 s4 Day 17

**********************************************************************
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使用方式、方法都相同,只是底层的存储结构不同。

原文地址:https://www.cnblogs.com/wxcsz/p/10690995.html