Map接口不是Collection接口的继承。Map接口用于维护键/值对(key/value pairs)。

该接口描述了从不重复的键到值的映射。

(1) 添加、删除操作:

Object put(Object key, Object value):将互相关联的一个关键字与一个值放入该映像。如果该关键字已经存在,那么与此关键字相关的新值将取代旧值。方法返回关键字的旧值,如果关键字原先并不存在,则返回null。

Object remove(Object key): 从映像中删除与key相关的映射。 

void putAll(Map t):将来自特定映像的所有元素添加给该映像。

void clear(): 从映像中删除所有映射,键和值都可以为null。但是,您不能把Map作为一个键或值添加给自身。

(2) 查询操作:

Object get(Object key): 获得与关键字key相关的值,并且返回与关键字key相关的对象,如果没有在该映像中找到该关键字,则返回null 。  

boolean containsKey(Object key): 判断映像中是否存在关键字key 。  

boolean containsValue(Object value): 判断映像中是否存在值value 。 

int size(): 返回当前映像中映射的数量。

boolean isEmpty() :判断映像中是否有任何映射。

(3) 视图操作 :处理映像中键/值对组:

Set  keySet(): 返回映像中所有关键字的视图集   “因为映射中键的集合必须是唯一的,你用Set支持。你还可以从视图中删除元素,同时,关键字和它相关的值将从源映像中被删除,但是你不能添加任何元素。”   

Collection values():返回映像中所有值的视图集   “因为映射中值的集合不是唯一的,你用Collection支持。你还可以从视图中删除元素,同时,值和它的关键字将从源映像中被删除,但是你不能添加任何元素。”   

Set entrySet(): 返回Map.Entry对象的视图集,即映像中的关键字/值对   “因为映射是唯一的,您用Set支持。你还可以从视图中删除元素,同时,这些元素将从源映像中被删除,但是你不能添加任何元素。”

Map.Entry接口

Map的entrySet()方法返回一个实现Map.Entry接口的对象集合。集合中每个对象都是底层Map中一个特定的键/值对。   

通过这个集合的迭代器,您可以获得每一个条目(唯一获取方式)的键或值并对值进行更改。当条目通过迭代器返回后,除非是迭代器自身的remove()方法或者迭代器返回的条目的setValue()方法,其余对源Map外部的修改都会导致此条目集变得无效,同时产生条目行为未定义。   

(1) Object getKey(): 返回条目的关键字。   

(2) Object getValue(): 返回条目的值 。  

(3) Object setValue(Object value): 将相关映像中的值改为value,并且返回旧值。

可以结合以下链接学习:

Map接口,Map.Entry,hashMap类,TreeMap类,WeakHashMap。

IdentityHashMap类:增加相同Key(键)内容的结果

SortedMap接口:进行排序操作。

最新文章

  1. Set集合的使用
  2. __ block
  3. php 操作数组 (合并,拆分,追加,查找,删除等)
  4. C# Label显示多行文本及换行(WinForm/WebForm)
  5. python判断文件和目录是否存在
  6. PHP 输出表格单元格的数据之用表单的方式;
  7. Maven常用插件参数
  8. django 学习-4 模板标签
  9. JavaScript中===与==的区别
  10. CSS 垂直居中的5种实现方法
  11. AppStore被拒原因及总结
  12. 软件工程(GZSD2015)第三次作业提交进度
  13. centos7项目部署
  14. Bootstrap的$(...).modal is not a function错误
  15. 函数模拟sort快排
  16. 潭州课堂25班:Ph201805201 爬虫高级 第十二 课 Scrapy-redis分布 项目实战 (课堂笔记)
  17. PAT 1013 Battle Over Cities
  18. PowerDesigner 设置code不等于name
  19. docker容器下tomcat 不向catalina.out输出日志解决以及支持中文字符集
  20. SQL Server查询中特殊字符的处理方法

热门文章

  1. Centos7搭建SVN Server手记
  2. JZYZOJ1454 NOIP2015 D2T3_运输计划 二分 差分数组 lca tarjan 树链剖分
  3. 【DFS】Paintball(6-22)
  4. BZOJ 2467 [中山市选2010]生成树(组合数学)
  5. 【带权并查集】poj1182 食物链
  6. 课堂作业-Bag类的实现
  7. Java学习笔记(12)
  8. <摘录>linux 默认的include
  9. sSkinProvider.pas
  10. (原)未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值与DATEADD