初识map : 在集合中允许嵌套 map集合中存放的都是一组组映射关系 key=value map集合key不能重复
增加
put(K key, V value) putAll(Map<? extends K,? extends V> m)删除
clear() remove(Object key)判断
containsKey(Object key) containsValue(Object value) isEmpty()获取
get(Object key) size() values() entrySet() keySet()ps:小结 Map
Hashtable:底层是哈希表数据结构,不可以存入null键null值,该集合石线程同步的,jdk1.0,效率低
HashMap:底层是哈希表数据结构,允许使用null值和null键,该集合是不同步的。将Hashtable替代;jdk1.2,效率高
TreeMap:底层是二叉树数据结构,线程不同步,可以用于给Map集合中的键进行排序
注意: 添加元素时,如果键已经在集合中存在,那么后添加的值会覆盖原来的值,并且put方法会将原有的值返回
Demo01: 1、将学生作为键,地址作为值进行存储,名字年龄相同则被认定为一个人,最后输出 需: a.建立一个student类,实例化作为key添加到map集合中。 b.对学生进行判重复 2、最后按年龄进行排序 3、需求改变、按姓名进行排序 Demo02: 1、统计字符串中字符出现次数 按次数排序
比如:sasdasdaeqweqxzcz a(8)c(6)u(2) 考虑: 统计功能 1.将字符串转为字符数组,将这个字符串中的字符当作map集合中的key,将出现的次数 作为value值 2.当字符第一次出现的时候,那么用它在集合中进行寻找,返回值必然为null,之后将该字符对应的值改为1 3.如果说该字符不是第一次出现,该字符对应的值不为null,然后应该+1