HashMap

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

HashMap常用方法

put/get 方法

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

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


import java.util.HashMap; public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map=new HashMap<String,Integer>();
map.put("zhaobin",70);
map.put("bob", 60);
System.out.println(map.get("zhaobin"));
System.out.println(map.get("tom"));
}
}

输出结果

70

null

size()方法

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

package test;

import java.util.HashMap;

public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map=new HashMap<String,Integer>();
map.put("zhaobin",70);
map.put("bob", 60);
System.out.println(map.size());
}
}

输出结果:2

clear()方法

4.clear() 清空Map集合

package test;

import java.util.HashMap;

public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map=new HashMap<String,Integer>();
map.put("zhaobin",70);
map.put("bob", 60);
System.out.println(map.size());
map.clear();
System.out.println(map.size());
}
}

输出结果:

2

0

isEmpty()方法

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

package test;

import java.util.HashMap;

public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map=new HashMap<String,Integer>();
map.put("zhaobin",70);
map.put("bob", 60);
System.out.println(map.size());
map.clear();
System.out.println(map.isEmpty());
System.out.println(map.size());
}
}

输出结果:

2

true

0

remove() 方法

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

package test;

import java.util.HashMap;

public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map=new HashMap<String,Integer>();
map.put("zhaobin",70);
map.put("bob", 60);
System.out.println(map.remove("bob"));
System.out.println(map.size());
}
}

输出结果:

60

1

values()方法

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

package test;

import java.util.HashMap;

public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map=new HashMap<String,Integer>();
map.put("zhaobin",70);
map.put("bob", 60);
map.put("bb", 6);
System.out.println(map.values());
}
}

输出结果:

[70, 6, 60]

keySet() 方法

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

package test;

import java.util.HashMap;

public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map=new HashMap<String,Integer>();
map.put("zhaobin",70);
map.put("bob", 60);
map.put("bb", 6);
System.out.println(map.keySet());
}
}

输出结果:

[zhaobin, bb, bob]

containsKey(Object key) 方法

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

package test;

import java.util.HashMap;

public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map=new HashMap<String,Integer>();
map.put("zhaobin",70);
map.put("bob", 60);
map.put("bb", 6);
System.out.println(map.containsKey("bob"));
System.out.println(map.containsKey("b"));
}
}

输出结果:

true

false

containsValue(Object value)方法

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

package test;

import java.util.HashMap;

public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map=new HashMap<String,Integer>();
map.put("zhaobin",70);
map.put("bob", 60);
map.put("bb", 6);
System.out.println(map.containsValue(70));
System.out.println(map.containsValue(100));
}
}

输出结果:

true

false

entrySet()方法

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

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

用法如下:

package test;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set; public class Test { public static void main(String[] args) {
Map<String, String> studentMap = new HashMap<String, String>();
studentMap.put("002", "小王");
studentMap.put("001", "小李"); Set<Entry<String, String>> studentSet = studentMap.entrySet();
for (Entry<String, String> entry : studentSet) {
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key+":"+value);
}
}

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. 杀死 Windows 某个端口

    进入终端命令行,输入netstat -aon|findstr 3000查找端口号所对应的 PID: 输入指令taskkill /pid 20348 /f:

  2. 入门 Socket.io

    概念 Socket.io 是一个支持客户端和服务器之间的低延迟.双向和基于事件的通信的库,除了支持 JavaScript 以外,还支持 Java.Python.Golang. Socket.io 构建 ...

  3. ArkUI block 标签

    block 标签在构建时不会被当作真实 DOM,而 block 标签之下的标签都会被渲染到真实 DOM 中.它类似于 Vue 的 template 标签. <div class="co ...

  4. (已解决)Adobe Creative Cloud 安装 Acrobat PDF 报错 DW071 DW003

    今天安装 Adobe Acrobat pdf 阅读器报错了,错误为 Exit Code: 7 Please see specific errors below for troubleshooting. ...

  5. SpringMVC 01: SpringMVC + 第一个SpringMVC项目

    SpringMVC SpringMVC概述: 是基于MVC开发模式的框架,用来优化控制器 是Spring家族的一员,也具备IOC和AOP 什么是MVC: 它是一种开发模式,是模型视图控制器的简称,所有 ...

  6. aardio + .NET 快速开发独立 EXE 程序,可防 ILSpy 反编译

    简介 aardio 可以非常方便地调用 .NET( 不需要任何复杂的步骤 ). .NET 在 aardio 中很好用,系统自带 .NET 组件以及各种开源 .NET 组件在 aardio 用户中也很受 ...

  7. JAVA中方法的调用主要有以下几种

    JAVA中方法的调用主要有以下几种: 1.非静态方法 非静态方法就是没有 static 修饰的方法,对于非静态方法的调用,是通过对 象来调用的,表现形式如下. 对象名.方法() eg: public ...

  8. 【gRPC】C++异步服务端优化版,多服务接口样例

    官方的C++异步服务端API样例可读性并不好,理解起来非常的费劲,各种状态机也并不明了,整个运行过程也容易读不懂,因此此处参考网上的博客进行了重写,以求顺利读懂. C++异步服务端实例,详细注释版 g ...

  9. 发布日志 - kratos v2.1.0 版本发布

    github https://github.com/go-kratos/kratos/releases/tag/v2.1.0 新的功能 新增客户端负载均衡器(load balancing)和路由选择器 ...

  10. 从Kubernetes Event中提取有效信息