------- android培训、java培训、期待与您交流! ----------
通过今天对java语言中集合类的学习,我来给自己的学习内容做下简单直白的总结:
首先,让我来总结下Map集合,它和collection集合一样,都属于集合框架的顶层接口..
Map集合的特点:该集合存储键值对,是一对一对往里存的,具有映射关系..还要保证键的唯一性...
Map集合常见的3个对象:
Hashtable类:底层是哈希表结构,不可以存入null键和null值,该集合是线程同步的..JDK1.0 效率低
HashMap类:底层是哈希表结构,可以存入null键和null值,该集合是线程不同步的..JDK1.2 效率高
TreeMap类:底层是二叉树结构,线程不同步,可以给map集合中的键进行排序..
让我来总结下Map集合的共性方法:添加,删除,判断,获取
对于Map集合把所有的键以及值共同取出的方法,我来重点总结下:
map集合体系没有迭代器来取出集合中元素的方法,但map集合自身有2种方法来取出集合中的键值对:
map集合取出键值对的第一种方法:Keyset()方法 ——我们可以将map集合所有的键都存入到set集合中,因为set集合具备迭代器...所有可以迭代取出的键,在根据map集合的get()方法,就可以得到每一个键对应的值..如图:
map集合取出键值对的第二种方法:entrySet()方法——我们可以将Map集合元素的映射关系,存储到set集合中,而这个关系的数据类型就是:Map.Entry...如图:
通过Map集合体系中的2种取出方式,(一种是取键,一种是取映射关系)..我们可以看出map集合的取出原理:
将map集合转换成set集合,在通过迭代器取出...
map集合取出的2种方法我都总结完了,那么我们什么时候使用map集合呢?
当数据之间存在着映射关系的时候,我们就要先想到使用map集合...
map扩展:我们不仅仅可以使用一对一的映射关系,还能使用一对多的映射关系..
比如:一个班里有很多的学生,一个学校有很多的班级(我们都可以使用一对应一个集合的方式)