集合框架Map

    xiaoxiao2022-07-07  175

    集合框架Map

    Map 集合用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。key=value key值不能重复 在集合中允许嵌套

    常用方法

    常用类型

    HashMap

    最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为Null(多条会覆盖);允许多条记录的值为 Null。非同步的。

    TreeMap

    能够把它保存的记录根据键(key)排序,默认是按升序排序,也可以指定排序的比较器,当用Iterator 遍历TreeMap时,得到的记录是排过序的。TreeMap不允许key的值为null。非同步的。

    Hashtable

    与 HashMap类似,不同的是:key和value的值均不允许为null;它支持线程的同步,即任一时刻只有一个线程能写Hashtable,因此也导致了Hashtale在写入时会比较慢。

    注意: 添加元素时,如果键已经在集合中存在,那么后添加的值会覆盖原来的值,并且put方法能够将原有的值返回

    遍历方式

    使用keySet()遍历 使用entrySet()遍历 使用entrySet遍历的速度要比keySet快很多 ;keySet获取的是key值集合,还需要通过key值取value值,效率上entrySet相对是高些

    排序

    /** 应用一: 1、将学生作为键,地址作为值进行存储,名字年龄相同则被认定为一个人,最后输出 a.建立一个student类,实例化作为key添加到map集合中 b.对学生进行判重 2、最后按年龄进行排序 3、需求改变、按姓名进行排序 * @author Dragon * */

    应用二: 统计字符串中字符出现次数

    /** * map集合中的泛型和包装类要使用引用数据类型 * 统计字符串中字符的出现次数 * gashfjdksj * s(2)j(2) *思考 * 统计 排序 * *统计功能 *1.将字符串转为字符数组,将这个字符串中的字符当作map集合中的key,将出现的次数作为value值 *2.当字符第一次出现的时候,那么用它在集合中进行寻找,返回值必然是null,之后将该字符对应的值改为1 *3.如果说该字符不是第一次出现 则在对应的值不为null,并且原基础上加1 * @author Dragon */

    最新回复(0)