java中map接口是什么?

本教程操作环境: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.实例

publicstaticvoidmain(String[]args){
////Map基于散列表的实现。插入和查询“键值对”的开销是固定的。可以通过构造器设置容量capacity和负载因子loadfactor,以调整容器的性能。
Mapmap=newHashMap();

//类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是其插入次序,或者是最近最少使用(LRU)的次序。只比HashMap慢一点。而在迭代访问时发而更快,因为它使用链表维护内部次序。
Mapmap2=newLinkedHashMap();

//底层是二叉树数据结构,线程不同步,可用于给Map集合中的键进行排序。
Mapmap3=newTreeMap();

//Hashtable是线程安全的,它的方法都加了synchronized修饰符
Mapmap4=newHashtable();

//ConcurrentHashMap通常只被看做并发效率更高的Map,用来替换其他线程安全的Map容器,比如Hashtable和Collections.synchronizedMap。
Mapmap5=newConcurrentHashMap();

//还有其他的实现类......
}

原文来自:https://www.py.cn

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容