HashMap基本使用方法
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基本使用方法的更多相关文章
- hashMap的get()方法,错用并发造成cpu和负载高
一次线上问题的解决 线上发现服务cpu使用达到98%,负载高达200多,64核心cpu,下面介绍解决过程: 1.top命令查出占用cpu高的进程pid 2.使用jstack -l pid >du ...
- Java基础:HashMap中putAll方法的疑惑
最近回顾了下HashMap的源码(JDK1.7),当读到putAll方法时,发现了之前写的TODO标记,当时由于时间匆忙没来得及深究,现在回顾到了就再仔细思考了下 @Override public v ...
- jdk1.8 HashMap的keySet方法详解
我在看HashMap源码的时候有一个问题让我产生了兴趣,那就是HashMap的keySet方法,没有调用HashMap的有关数据的任何方法就能获取到map的所有的键,他是怎么做到的,然后我就通过模拟k ...
- HashMap的put方法返回值问题
API文档中的描述: 先看一个例子 Map<Character, Integer> map = new HashMap<Character, Integer>(); Syste ...
- HashMap的clear方法
我们都知道HashMap的clear()方法会清楚map的映射关系,至于怎么实现的呢? 下面先看一下clear()方法的源码 public void clear() { Node<K,V> ...
- HashMap之put方法流程解读
说明:本文中所谈论的HashMap基于JDK 1.8版本源码进行分析和说明. HashMap的put方法算是HashMap中比较核心的功能了,复杂程度高但是算法巧妙,同时在上一版本的基础之上优化了存储 ...
- HashMap集合-遍历方法
# HashMap集合-遍历方法 先定义好集合: public static void main(String[] args) { Map<String,String> onemap=ne ...
- Java中hashCode()方法以及HashMap()中hash()方法
Java的Object类中有一个hashCode()方法: public final native Class<?> getClass(); public native int hashC ...
- HashMap的使用方法及注意事项
99.Map(映射):Map 的keySet()方法会返回 key 的集合,因为 Map 的键是不能重复的,因此 keySet()方法的返回类型是 Set:而 Map 的值是可以重复的,因此 valu ...
- java循环HashMap两种方法的效率比较
一.循环HashMap的两种方式 方式1: Iterator<Entry<String, String>> entryKeyIterator = entrySetMap.ent ...
随机推荐
- 杀死 Windows 某个端口
进入终端命令行,输入netstat -aon|findstr 3000查找端口号所对应的 PID: 输入指令taskkill /pid 20348 /f:
- 入门 Socket.io
概念 Socket.io 是一个支持客户端和服务器之间的低延迟.双向和基于事件的通信的库,除了支持 JavaScript 以外,还支持 Java.Python.Golang. Socket.io 构建 ...
- ArkUI block 标签
block 标签在构建时不会被当作真实 DOM,而 block 标签之下的标签都会被渲染到真实 DOM 中.它类似于 Vue 的 template 标签. <div class="co ...
- (已解决)Adobe Creative Cloud 安装 Acrobat PDF 报错 DW071 DW003
今天安装 Adobe Acrobat pdf 阅读器报错了,错误为 Exit Code: 7 Please see specific errors below for troubleshooting. ...
- SpringMVC 01: SpringMVC + 第一个SpringMVC项目
SpringMVC SpringMVC概述: 是基于MVC开发模式的框架,用来优化控制器 是Spring家族的一员,也具备IOC和AOP 什么是MVC: 它是一种开发模式,是模型视图控制器的简称,所有 ...
- aardio + .NET 快速开发独立 EXE 程序,可防 ILSpy 反编译
简介 aardio 可以非常方便地调用 .NET( 不需要任何复杂的步骤 ). .NET 在 aardio 中很好用,系统自带 .NET 组件以及各种开源 .NET 组件在 aardio 用户中也很受 ...
- JAVA中方法的调用主要有以下几种
JAVA中方法的调用主要有以下几种: 1.非静态方法 非静态方法就是没有 static 修饰的方法,对于非静态方法的调用,是通过对 象来调用的,表现形式如下. 对象名.方法() eg: public ...
- 【gRPC】C++异步服务端优化版,多服务接口样例
官方的C++异步服务端API样例可读性并不好,理解起来非常的费劲,各种状态机也并不明了,整个运行过程也容易读不懂,因此此处参考网上的博客进行了重写,以求顺利读懂. C++异步服务端实例,详细注释版 g ...
- 发布日志 - kratos v2.1.0 版本发布
github https://github.com/go-kratos/kratos/releases/tag/v2.1.0 新的功能 新增客户端负载均衡器(load balancing)和路由选择器 ...
- 从Kubernetes Event中提取有效信息