天天看点

JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习

继续坚持下去吧,各位骚年们! 事实上,我们的数据结构,只剩下这个Map的知识点了,平时开发中,也是能看到他的,所以还是非常值得去学习的一个知识点的,我们直接开车了
JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习
泛型< k,v> 键值对,映射关系 基本特点

该集合存储键值对,是一对一对往里存,而且要保证键的唯一性

1.添加

put(key ,values)

putAll()

2.删除

clear()

remove(object key)

3.判断

containsValue(Object value)

containsKey(Object key)

isEmpty()

4.获取

get(Object key)

size()

values()

entrySet()

keySet()

我们的学习步骤也是这样来的,
Map有三个子类

Hashtable

底层是哈希表数据结构,不可以存入null值或者键,该集合是线程同步的

JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习

HashMap

底层是哈希表数据结构,允许使用null的键值对,线程是不同步的。效率高

JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习

TreeMap

底层是二叉树数据结构,线程不同步,可以用于给map集合中的键进行排序

Map和Set很像,其实Set底层就是使用了Map集合
我们看一下他们的共同点
这里可以看到输出的结果
JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习
但是这里要注意的是,添加元素,如果添加的时候,相同的键,那么后面的,会被后添加的覆盖原有的键对应的值,并put方法会返回被覆盖的值
想取出他的值,他并没有迭代器,那我们的思路可以转变一下拿到他的所有的键再去get不就可以拿到键值对了,我们来看一下

keySet

将map中所有的值存入到Set集合中,因为Set具备迭代器,所有可以迭代方法取出的所有的键,根据get方法,获取每一个键对应的值

这种方法还是比较好理解的,对吧,但是这样比较麻烦,我们来看另一种
定义泛型虽然比较麻烦,但是取出来还是比较简单的,原理是什么?其实我们可以写一段伪代码来说明的
父子接口,直接访问,内部规则
我们可以通过一个小练习来学习一下使用规则,而需求,我直接写在注释上
OK,例子就是用两种取出的方式罢了,相信你自己也一定能做好的,好的,我们本节课到这里也就结束了,下节再见