本教程操作环境:windows7系统、java10版,DELL G3电脑。
1.概念
一种通过键值(key-value)查找的映射表集合,例如,根据Student的name查找对应Student的Map。
从数据结构上来讲,它是一个接口
Map里存放顺序是无序的 举例:key1=value1 key2=value2 key5=value5 key3=value3
2.用法
(1)Map用于保存具有映射关系的数据,Map里保存着两组数据:key和value,它们都可以使任何引用类型的数据,但key不能重复。所以通过指定的key就可以取出对应的value。
(2)Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。 Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的 值。
(3)Collection中的集合称为单列集合,Map 中的集合称为双列集合。需要注意的是,Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。
3.实例
public static void main(String[] args) { ////Map基于散列表的实现。插入和查询“键值对”的开销是固定的。可以通过构造器设置容量capacity和负载因子load factor,以调整容器的性能。 Map map = new HashMap(); //类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是其插入次序,或者是最近最少使用(LRU)的次序。只比HashMap慢一点。而在迭代访问时发而更快,因为它使用链表维护内部次序。 Map map2 = new LinkedHashMap(); //底层是二叉树数据结构,线程不同步,可用于给Map集合中的键进行排序。 Map map3 = new TreeMap(); //Hashtable是线程安全的,它的方法都加了synchronized修饰符 Map map4 = new Hashtable(); //ConcurrentHashMap通常只被看做并发效率更高的Map,用来替换其他线程安全的Map容器,比如Hashtable和Collections.synchronizedMap。 Map map5 = new ConcurrentHashMap(); //还有其他的实现类...... }
以上就是java中map接口的一些使用方法,本篇我们只是对map有了概念上的初步了解,想深入学习的小伙伴可以持续关注一下。更多Java学习指路:js教程