一. map集合的特点
1. 以键值对的形式存储数据,一个键对应一个值。
键不能重复,值可以重复。与set集合一样,元素添加的顺序与输出顺序不一致。
2. 具备增删改查的功能。
运行结果如下:
二. map集合的遍历方式
1. 先拿到key,再拿到值
获取全部键的set集合,遍历set集合,根据键再拿到对应的值。
2. 拿到映射关系
把map集合全部转换为set集合,根据Map.Entry获取集合的key和value。
运行结果如下:
三. map集合的常用实现类HashMap
1. 以一个 统计字符串中字符出现次数为例 进行讲解
实现思路:
- 获取字符串中的全部字符。
- 遍历全部字符。
- 将字符与对应出现的次数定义为一个map集合,字符赋为key,出现次数为value,看key对应的值是否存在
- 如果存在,则key的值+1
如果不存在,则key赋值为1
运行结果如下:
四. 泛型
1. 泛型的作用
1.泛型提供了编译时类型安全检测机制。
2.可以增强代码的复用性。即多个类都可以实现泛型类,实现泛型类时指定具体数据类型。
2. 泛型类
泛型类,是在实例化类的时候指明泛型的具体类型。
泛型类的格式
修饰符 class 类名<泛型变量>{
}
注意:泛型的参数只能是类类型,不能是数据类型
一个简单的泛型类
3. 泛型方法
泛型方法,是在调用方法的时候指明泛型的具体类型 。
泛型方法格式
修饰符 <泛型变量> 返回值类型 方法名称(参数){
}
五. 集合框架的工具类
1. Arrays
Arrays.asList()
数组转集合,可以使用集合的方法操纵数组中的元素。
xxx.toArray()
集合转数组,可以对集合中的元素操作的方法进行限定。不允许对其进行增删。
2. Collections
//排序 Collections.sort //折半 Collections.binarySearch //最大值 Collections.max //最小值 Collections.min //逆序 Collections.reverseOrder //替换 Collections.replaceAll ...