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. Excel 查找函数(三):HLOOKUP

    函数讲解 [语法]HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup]) [参数] lookup_value:查找值(必须是 ...

  2. Github文件在线加速下载

    众所周知,GitHub是一个巨大的开源宝库,以及程序员和编程爱好者的聚集地,诸多优秀的开源项目全部都是位于GitHub上.但是每当我们看到优秀的开源项目,准备去下(bai)载(piao)时,会发现速度 ...

  3. vue2和vue3的区别?

    vue2和vue3的主要区别在于以下几点: 1.生命周期函数钩子不同 2.数据双向绑定原理不同 3.定义变量和方法不同 4.指令和插槽的使用不同 5.API类型不同 6.是否支持碎片 7.父子组件之间 ...

  4. 解决前端开发报错(SyntaxError: missing : after property id)的问题

    当使用对象初始化语法创建对象的时候,需要使用半角冒号 (:) 将属性键与属性值隔开. 1 var obj = { propertyKey: 'value' }; 冒号与等号 下面的代码会运行失败,原因 ...

  5. flex常用布局

    公共样式: <style> * { margin: 0; padding: 0; } .has-flex { display: flex; } </style> 垂直居中 子元 ...

  6. bat查找文件

    举例如下 @dir > 1.txt /s /a /b d:\*.mp4 以后再作解释

  7. Windows Admin Center无法访问

    近日,有一台安装了Windows Admin Center的服务器无法访问了.遇到错误ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY.本以为这是更新了Chromium内 ...

  8. AVL Tree (1) - Definition, find and Rotation

    1. 定义 (15-1) [AVL tree]: 一棵空二叉树是 AVL tree; 若 T 是一棵非空二叉树, 则 T 满足以下两个条件时, T 是一棵 AVL tree: T_LeftSubtre ...

  9. Deployment必须包含资源对象

    Deployment 是一个控制器,能够用来控制 pod 数量跟期望数量一致,配置 pod 的发布方式 Deployment 会按照给定策略进行发布指定 pod,保证在更新过程中不可用数量在限定范围内 ...

  10. 7. Ceph 高级篇 - RBD块设备回收站、快照、克隆

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