码迷,mamicode.com
首页 > 编程语言 > 详细

java之map集合

时间:2017-06-07 14:33:45      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:哈希表   turn   唯一性   集合框架   关系   java   ash   htable   比较   

如果程序中存储了几百万个学生,而且经常需要使用学号来搜索某个学生,那么这个需求有效的数据结构就是MapMap是一种依照键(key)存储元素的容器,键(key)很像下标,在List中下标是整数。在Map中键(key)可以使任意类型的对象。Map中不能有重复的键(Key),每个键(key)都有一个对应的值(value)。一个键(key)和它对应的值构成map集合中的一个元素。

Map中的元素是两个对象,一个对象作为键,一个对象作为值。键不可以重复,但是值可以重复。

看顶层共性方法找子类特有对象.

 

 

interface Map<K,V>

K - 此映射所维护的键的类型

V - 映射值的类型

概念

将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。

特点

KeyValue1对1的关系,如:门牌号 :家  老公:老婆

双列集合

 

 ---| Map  接口    将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。

 

---| HashMap  采用哈希表实现,所以无序

 

            ---| TreeMap   可以对健进行排序

 

---|Hashtable:

 

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

 

效率较低,被HashMap 替代。

 

---|HashMap:

 

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

 

要保证键的唯一性,需要覆盖hashCode方法,和equals方法。

 

---| LinkedHashMap

 

该子类基于哈希表又融入了链表。可以Map集合进行增删提高效率。

 

---|TreeMap:

 

底层是二叉树数据结构。可以对map集合中的键进行排序。需要使用Comparable或者Comparator 进行比较排序。return 0,来判断键的唯一性。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

总结:

Map与Collection在集合框架中属并列存在,

1.Map存储的是键值对,

2..Map存储元素使用put方法,Collection使用add方法

3..Map集合没有直接取出元素的方法,而是先转成Set集合,在通过迭代获取元素

4..Map集合中键要保证唯一性

5..也就是Collection是单列集合, Map 是双列集合。

 

Map一次存一对元素, Collection 一次存一个。Map 的键不能重复,保证唯一。

Map 一次存入一对元素,是以键值对的形式存在.键与值存在映射关系.一定要保证键的唯一性.

java之map集合

标签:哈希表   turn   唯一性   集合框架   关系   java   ash   htable   比较   

原文地址:http://www.cnblogs.com/AllenRandolph/p/6956385.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!