Map接口(双例集合):

  Map提供了映射关系,存放的元素是以key-value键值对存放的。可以根据key快速的查询value。key不可以重复,value可以重复。

常用实现类:HashMap,Hashtable,LinkedHashMap,TreeMap

常用方法
判断功能
boolean isEmpty():判断map是否为空
boolean containsKey(Object key):判断是否包含某个key
boolean containsValue(Object value):判断是否包含某个value
 
获取功能
int size():返回键值对的个数
V get(Object key):返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null
Set<K> keySet():返回此映射中包含的键的 Set 视图
Collection<V> values():返回此映射中包含的值的 Collection 视图
Set<Map.Entry<K, V>> entrySet():返回此映射中包含的映射关系的 Set 视图
 
添加功能
V put(K key, V value):将指定的值与此映射中的指定键关联(可选操作)。如果此映射以前包含一个该键的映射关系,则用指定值替换旧值,并且返回旧的值。否则返回null
void putAll(Map<? extends K, ? extends V> m):把一组键值对放入到Map中。
 
删除功能
V remove(Object key):删除指定的key对应的键值对,返回被删除的键指定的值
void clear():从此映射中移除所有映射关系
 
遍历方式
方式1:根据键找值
获取所有键的集合
遍历键的集合,获取到每一个键
根据键找值
如:
Set<String> keySet = stus.keySet();
for(String key : keySet){
System.out.println(key +": "+stus.get(key));
}
方式2:根据键值对对象找键和值
获取所有键值对对象的集合
遍历键值对对象的集合,获取到每一个键值对对象
根据键值对对象找键和值
Set<Entry<String, String>> entrySet = stus.entrySet();
for(Entry<String, String> entry : entrySet){
System.out.println(entry.getKey()+" : "+entry.getValue());
}
 
HashMap:
特点:
  1. 不保证映射的顺序
  2. 可以使用null作为键或者值
  3. 线程不安全
  4. 底层使用Hash表来存储数据,默认大小16,负载因子0.75,当hash表的容量超过负载因子的时候开始扩容,扩容为原始容量的2
  5. 扩容时机,元素个数超过threshold的时候。
  6. 最多可以存放的元素个数为1<<30
  7. 执行new HashMap()的时候,并没有初始化table;而是在put的时候,才初始化。
  8. 不允许重复的key

LinkedHashMap:

特点:

  1. 可以排序,注意这里所说的顺序并不是添加的顺序。而是从大到小或者从小到大的顺序。
  2. 保证元素的唯一性

Hashtable:

特点:

1、线程安全,效率低
2、不能将null作为键或者值
3、初始容量为11,负载因子为0.75。超过负载因子*容量开始扩容,扩容为旧的容量*2+1
 
 

Java集合--Map的更多相关文章

  1. Java集合Map接口与Map.Entry学习

    Java集合Map接口与Map.Entry学习 Map接口不是Collection接口的继承.Map接口用于维护键/值对(key/value pairs).该接口描述了从不重复的键到值的映射. (1) ...

  2. Java集合——Map接口

    1.定义 Map用于保存存在映射关系<key,value>的数据.其中,key值不能重复(使用equals()方法比较),value值可以重复 2.方法 V  put(key,value) ...

  3. Java集合—Map

    简介 Map用户保存具有映射关系的数据,因此Map集合里保存着两组数,一组值用户保存Map里的key,另一组值用户保存Map里的value,key和value都可以是任何引用类型的数据.Map的key ...

  4. Java集合Map基本方法

    jdk1.7 api中的方法摘要: 参考java集合大全图:https://www.cnblogs.com/xkzhangsanx/p/10889114.html Map为所有Map子类的接口.

  5. java集合——Map

    声明:以下内容都是来自网络总结,将会参考很多,没有声明转载来源. 一.Map接口 1.HashMap HashMap和HashTable的区别:http://blog.csdn.net/shohoku ...

  6. Java集合--Map总结

    转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311126 第1部分 Map概括 (01) Map ...

  7. Java集合-----Map详解

          Map与Collection并列存在.用于保存具有映射关系的数据:Key-Value      Map 中的 key 和  value 都可以是任何引用类型的数据      Map 中的 ...

  8. Java集合Map与其子类回顾

    接10月12号昨天的笔记,今天继续回顾集合中的Map集合. 一.集合工具操作类Collections 问题:collection和collections的区别? 1.collection是单列集合的顶 ...

  9. Java集合----Map集合

    Map Map 用于保存具有映射关系的数据,因此 Map 集合里保存着两组值,一组值用于保存 Map 里的 Key,另外一组用于保存 Map 里的 Value Map 中的 key 和 value 都 ...

  10. Java 集合-Map接口和三个子类实现

    2017-10-31 22:05:59 Map 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. HashMap是基于散列表实现的,插入.删除和定位元素时间复杂度平均能达到O ...

随机推荐

  1. Ajax发送PUT/DELETE请求时出现错误的原因及解决方案

    本文讲什么? 大家应该都知道.在HTTP中,规定了很多种请求方式,包括POST,PUT,GET,DELETE等.每一种方式都有这种方式的独特的用处,根据英文名称,我们能够很清楚的知道DELETE方法的 ...

  2. Java Math.round()函数小结

      Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(1 ...

  3. vue打包部署(含2.0)

    到这里vue的所有平时使用的知识点都写完了 先补充一下vue2.x的安装 ## 全局脚手架 npm install vue/cli -g ## 查看版本 vue --version ## 新建项目 v ...

  4. JAVA实现数组的反转--基础

    直接上代码 这个算法比较简单,唯一需要注意的就是第8行和第9行.一定要多减去1 因为for循环从0开始,而数组长度是从0到length-1的. class ArrReverse { //实现数组元素的 ...

  5. H5页面单点登录跳回首页 http url参数转义

    在往首页跳的时候因为是单点登录进来的,url后面会带有参数,然后存入会话,所以我要拿到原本存入会话的参数放入url后面 但是返回的时候页面报错了 http://localhost:18086/h5ap ...

  6. JD-Store购物网站复盘——20170312

    一.商店技术架构 1.主题 2.涉及技术点: 3.核心业务功能 4.角色 5.用户故事 二.实现步骤 专案基础设施 上传图片模块 购物车 订单 支付&寄信 专案源码 三.第三方服务应用 支付 ...

  7. Oracle的操作经验

    采用Oracle进行sql语句 建表并设置主键,主键自增,某一字段唯一性约束等 <---如果表存在则删除---> declare num number; begin select coun ...

  8. 微信公众号开发之根据OpenID列表群发(十四)

    上一篇我们讲述了<微信公众号开发之根据标签进行群发(十二)>,这次我们讲解一下[根据OpenID列表群发] 根据OpenID列表群发[订阅号不可用,服务号认证后可用] 接口调用请求说明 h ...

  9. Ajax学习系列——jQuery中Ajax的请求方式

    在jQuery中,Ajax常见的请求方式主要有4种. 1.$.ajax()返回其创建的XMLHttpRequest对象. $.ajax({ type:"POST", content ...

  10. 二十二、SAP中创建一个内表,并添加内容循环输出显示

    一.直接上代码 二.输出如下