HashMap

Map集合基于 键(key)/值(value)映射。每个键最多只能映射一个值。键可以是任何引用数据类型的值,不可重复;值可以是任何引用数据类型的值,可以重复;键值对存放无序。

HashMap常用方法

put/get 方法

1.put(K key, V value) 将键(key)/值(value)映射存放到Map集合中。

2.get(Object key) 返回指定键所映射的值,没有该key对应的值则返回 null。


  1. import java.util.HashMap;
  2. public class Map {
  3. public static void main(String[] args) {
  4. HashMap<String,Integer> map=new HashMap<String,Integer>();
  5. map.put("zhaobin",70);
  6. map.put("bob", 60);
  7. System.out.println(map.get("zhaobin"));
  8. System.out.println(map.get("tom"));
  9. }
  10. }

输出结果

70

null

size()方法

3.size() 返回Map集合中数据数量。

  1. package test;
  2. import java.util.HashMap;
  3. public class Map {
  4. public static void main(String[] args) {
  5. HashMap<String,Integer> map=new HashMap<String,Integer>();
  6. map.put("zhaobin",70);
  7. map.put("bob", 60);
  8. System.out.println(map.size());
  9. }
  10. }

输出结果:2

clear()方法

4.clear() 清空Map集合

  1. package test;
  2. import java.util.HashMap;
  3. public class Map {
  4. public static void main(String[] args) {
  5. HashMap<String,Integer> map=new HashMap<String,Integer>();
  6. map.put("zhaobin",70);
  7. map.put("bob", 60);
  8. System.out.println(map.size());
  9. map.clear();
  10. System.out.println(map.size());
  11. }
  12. }

输出结果:

2

0

isEmpty()方法

5.isEmpty () 判断Map集合中是否有数据,如果没有则返回true,否则返回false

  1. package test;
  2. import java.util.HashMap;
  3. public class Map {
  4. public static void main(String[] args) {
  5. HashMap<String,Integer> map=new HashMap<String,Integer>();
  6. map.put("zhaobin",70);
  7. map.put("bob", 60);
  8. System.out.println(map.size());
  9. map.clear();
  10. System.out.println(map.isEmpty());
  11. System.out.println(map.size());
  12. }
  13. }

输出结果:

2

true

0

remove() 方法

6.remove(Object key) 删除Map集合中键为key的数据并返回其所对应value值。

  1. package test;
  2. import java.util.HashMap;
  3. public class Map {
  4. public static void main(String[] args) {
  5. HashMap<String,Integer> map=new HashMap<String,Integer>();
  6. map.put("zhaobin",70);
  7. map.put("bob", 60);
  8. System.out.println(map.remove("bob"));
  9. System.out.println(map.size());
  10. }
  11. }

输出结果:

60

1

values()方法

7.values() 返回Map集合中所有value组成的以Collection数据类型格式数据。

  1. package test;
  2. import java.util.HashMap;
  3. public class Map {
  4. public static void main(String[] args) {
  5. HashMap<String,Integer> map=new HashMap<String,Integer>();
  6. map.put("zhaobin",70);
  7. map.put("bob", 60);
  8. map.put("bb", 6);
  9. System.out.println(map.values());
  10. }
  11. }

输出结果:

[70, 6, 60]

keySet() 方法

8.keySet() 返回Map集合中所有key组成的Set集合

  1. package test;
  2. import java.util.HashMap;
  3. public class Map {
  4. public static void main(String[] args) {
  5. HashMap<String,Integer> map=new HashMap<String,Integer>();
  6. map.put("zhaobin",70);
  7. map.put("bob", 60);
  8. map.put("bb", 6);
  9. System.out.println(map.keySet());
  10. }
  11. }

输出结果:

[zhaobin, bb, bob]

containsKey(Object key) 方法

9.containsKey(Object key) 判断集合中是否包含指定键,包含返回 true,否则返回false

  1. package test;
  2. import java.util.HashMap;
  3. public class Map {
  4. public static void main(String[] args) {
  5. HashMap<String,Integer> map=new HashMap<String,Integer>();
  6. map.put("zhaobin",70);
  7. map.put("bob", 60);
  8. map.put("bb", 6);
  9. System.out.println(map.containsKey("bob"));
  10. System.out.println(map.containsKey("b"));
  11. }
  12. }

输出结果:

true

false

containsValue(Object value)方法

10.containsValue(Object value) 判断集合中是否包含指定值,包含返回 true,否则返回false。

  1. package test;
  2. import java.util.HashMap;
  3. public class Map {
  4. public static void main(String[] args) {
  5. HashMap<String,Integer> map=new HashMap<String,Integer>();
  6. map.put("zhaobin",70);
  7. map.put("bob", 60);
  8. map.put("bb", 6);
  9. System.out.println(map.containsValue(70));
  10. System.out.println(map.containsValue(100));
  11. }
  12. }

输出结果:

true

false

entrySet()方法

11.HashMap用entrySet() 遍历集合,

entrySet() 将Map集合每个key-value转换为一个Entry对象并返回由所有的Entry对象组成的Set集合

用法如下:

  1. package test;
  2. import java.util.HashMap;
  3. import java.util.Iterator;
  4. import java.util.Map;
  5. import java.util.Map.Entry;
  6. import java.util.Set;
  7. public class Test {
  8. public static void main(String[] args) {
  9. Map<String, String> studentMap = new HashMap<String, String>();
  10. studentMap.put("002", "小王");
  11. studentMap.put("001", "小李");
  12. Set<Entry<String, String>> studentSet = studentMap.entrySet();
  13. for (Entry<String, String> entry : studentSet) {
  14. String key = entry.getKey();
  15. String value = entry.getValue();
  16. System.out.println(key+":"+value);
  17. }
  18. }

HashMap基本使用方法的更多相关文章

  1. hashMap的get()方法,错用并发造成cpu和负载高

    一次线上问题的解决 线上发现服务cpu使用达到98%,负载高达200多,64核心cpu,下面介绍解决过程: 1.top命令查出占用cpu高的进程pid 2.使用jstack -l pid >du ...

  2. Java基础:HashMap中putAll方法的疑惑

    最近回顾了下HashMap的源码(JDK1.7),当读到putAll方法时,发现了之前写的TODO标记,当时由于时间匆忙没来得及深究,现在回顾到了就再仔细思考了下 @Override public v ...

  3. jdk1.8 HashMap的keySet方法详解

    我在看HashMap源码的时候有一个问题让我产生了兴趣,那就是HashMap的keySet方法,没有调用HashMap的有关数据的任何方法就能获取到map的所有的键,他是怎么做到的,然后我就通过模拟k ...

  4. HashMap的put方法返回值问题

    API文档中的描述: 先看一个例子 Map<Character, Integer> map = new HashMap<Character, Integer>(); Syste ...

  5. HashMap的clear方法

    我们都知道HashMap的clear()方法会清楚map的映射关系,至于怎么实现的呢? 下面先看一下clear()方法的源码 public void clear() { Node<K,V> ...

  6. HashMap之put方法流程解读

    说明:本文中所谈论的HashMap基于JDK 1.8版本源码进行分析和说明. HashMap的put方法算是HashMap中比较核心的功能了,复杂程度高但是算法巧妙,同时在上一版本的基础之上优化了存储 ...

  7. HashMap集合-遍历方法

    # HashMap集合-遍历方法 先定义好集合: public static void main(String[] args) { Map<String,String> onemap=ne ...

  8. Java中hashCode()方法以及HashMap()中hash()方法

    Java的Object类中有一个hashCode()方法: public final native Class<?> getClass(); public native int hashC ...

  9. HashMap的使用方法及注意事项

    99.Map(映射):Map 的keySet()方法会返回 key 的集合,因为 Map 的键是不能重复的,因此 keySet()方法的返回类型是 Set:而 Map 的值是可以重复的,因此 valu ...

  10. java循环HashMap两种方法的效率比较

    一.循环HashMap的两种方式 方式1: Iterator<Entry<String, String>> entryKeyIterator = entrySetMap.ent ...

随机推荐

  1. python金牌班第七周周末总结

    python金牌班第七周周末总结 面向对象前戏 1.我们在学习面相对像之前有一个推导过程如何将我们之前写的东西,从一串代码转向给对象服务. 2.实例 我们首先模拟了两个物种进行战斗的场景,然后我们发现 ...

  2. Spring源码-入门

    一.测试类 public class Main { public static void main(String[] args) { ApplicationContext applicationCon ...

  3. 【lwip】005-lwip内核框架剖析

    目录 前言 5.1 lwip初始化 5.2 内核超时 5.2.1 内核超时机制 5.2.2 周期定时机制 5.2.3 内核超时链表数据结构 5.2.4 内核超时初始化 5.2.6 超时的溢出处理 5. ...

  4. Base64加密、解密

    #region Base64加密方法 /// <summary> /// Base64加密,采用utf8编码方式加密 /// </summary> /// <param ...

  5. Windows LDAP加固之LDAP over SSL和通道绑定

    很多网络通信都可以用SSL来加密的,LDAP也不列外,同样可以用SSL加密. LDAPS使用的证书必须满足以下几个条件: 1.证书的增强性密钥用法中必须有服务器身份验证Server Authentic ...

  6. Windows 10无法显示无线网络连接

    最近刚刚升级了一下操作系统,升级到了1903版本.正好又有一个HP的打印机安装了一下.结果,发现居然无法管理无线网络了.如果看不到图,请点我. 右击选择连接,也无法显示SSID. 驱动是从这个官网下载 ...

  7. 《Java基础——选择语句》

    Java基础--选择语句       1. if语句; 规则: 1. 首先计算表达式的值. 2. 若表达式为真,则执行对应语句,为假则不执行.   格式一: if(表达式) 语句;//多个语句可用{} ...

  8. .NET 6当中的Web API版本控制

    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. 为了了解ASP.NET Core Web API的版本控制,我们必须了解API中的 ...

  9. Elasitcsearch7.X集群/索引备份与恢复实战

    文章转载自:https://mp.weixin.qq.com/s/_0RlojDsE30CeDSyLNP44w 1.问题引出 ES中文社区中,有如下问题: 问题1:存储数据,data目录从一个机器直接 ...

  10. 1.Ceph 基础篇 - 存储基础及架构介绍

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485232&idx=1&sn=ff0e93b9 ...