映射(1)

----Map映射

数学定义:两个集合之间的元素对应关系

一个输入对应到一个输出

{ 1,张三},{2,李四},{Key,Value},键值对,K-V对

----Java中的Map

(1)Hashtable:同步,性能比较慢,适合处理数据量小

(2)HashMap:不支持同步,快,数据量大

(3)Properties:同步,文件形式存储的,数据量小

映射(2):Hashtable

---- K-V对,K和V都不允许为null

----同步,多线程安全

----无序的

----适合小数据量

----主要方法:clear,contains / containsValue,containsKey,get,put,remove,size

第十章--Java数据结构 第五节--映射Map

举个例子:

第十章--Java数据结构 第五节--映射Map

遍历方式:有三种

第十章--Java数据结构 第五节--映射Map

第一种遍历方式:根据Entry迭代器遍历

第二种遍历方式:根据Key的Iterator遍历

第三种遍历方式:根据Key的Enumeration遍历

第十章--Java数据结构 第五节--映射Map

第十章--Java数据结构 第五节--映射Map

映射(3):HashMap

---- K - V对,K和V都允许为null

----不同步,多线程不安全

Map  m  =  Collection.synchronizedMap ( new  HashMap ( ... ) )

----无序的

----主要方法:clear  containsValue  containsKey  get  put  remove  size

----HashMap的遍历方式只有两种:(没有根据Key的Enumeration遍历)

第一种遍历方式:根据Entry迭代器遍历

第二种遍历方式:根据Key的Iterator遍历

映射(4):

LinkedHashMap:基于双向链表的维持插入顺序的HashMap,支持null的插入(key和value都可以)

TreeMap:基于红黑树的Map,可以根据key的自然排序或者compareTo方法进行排序输出,value可以是null,但是key不可以,会出现编译没错,运行时报空指针异常

映射(5):Properties

----继承于Hashtable

----可以将K - V对保存在文件中

----适用于数据量少的配置文件,比如windows里面的ini文件

第十章--Java数据结构 第五节--映射Map

----继承自Hashtable的方法:clear  contains / containsValue  containsKey  get  put  remove  size,除此之外多了四个方法。(1)从文件加载的load方法 (2)写入到文件中的store方法  (3)获取属性getProperty方法  (4)设置属性setProperty方法

第十章--Java数据结构 第五节--映射Map

----就是说可以把Key - Value对保存到Properties(文件)里面,也可以从Properties(文件)里面取出所有的Key - Value对

映射(6):

第十章--Java数据结构 第五节--映射Map

 

相关文章: