java.util.HashMap
做LeeCode上的题目,发现关于数组的题目用HashMap后简化运算,包括在之前的工作中,也多次用到HashMap而我对它的了解却不多,现在来总结一下。
在算法中的用处,暂时的理解是,当数组中两个数据有联系时,可以将一个存储在HashMap中寻找下一个,
public class HashMap extends AbstractMap implements Map
AbstractMap 实现了 Map 此处又加上 implements Map 目前认为是为了结构清晰
Map接口的四个实现:HashMap,Hashtable,TreeMap,WeakHashMap
HashMap 用来存储被称为表项的 key/value 的收集,提供所有可选操作,允许 key/value 为 null 。关键字必须唯一,值可以不唯一。如果添加一个具有相同关键字的表项,这个映射表将用新的表项替换旧的表项。
关键字在映射表中不能被修改。// 这句话不能理解-->映射表是啥,网上没查到,求路过的大神解释
HashMap 内部使用哈希表存储表项,这些表项的 存取和添加 和数组的一样快。当需要确定一个表项集合并判断某个表项是否已经存在于集合中时,HashMap是非常有用的,而且不用考虑表项的顺序(使得其在写算法时常被用到)。
使用:
可以创建一个空的 HashMap 或由映射表初始化一个 HashMap,
HashMap map;
map = new HashMap;
map = new HashMap(map);
容量和装载因子:
通常容量为映射表中表项数量的两倍比较合适。
构造函数:
HashMap() 构造一个新的HashMap实例
值检索方法:
get 检索与一个关键字关联的值
value = get(key);
查询方法:
containsKey 确定此映射表是否包含特定的关键字
containsValue() 确定此映射表是否包含特定的值
isEmpty() 确定此映射表是否有表项
size() 返回映射表中表项的个数
修改方法:
clear() 清空映射表
put() 添加一个键值对
putAll() 添加一个来自另一个映射表中的键值对
remove() 从映射表中删除一个表项
收集视图方法:
entrySet() 返回包含映射表中所有键值对的集合
keySet() 返回包含映射表中所有关键字的集合
values() 返回包含映射表中所有值的集合
对象方法
clone() 创建此映射表的一个拷贝
java.util.HashMap的更多相关文章
- java:警告:[unchecked] 对作为普通类型 java.util.HashMap 的成员的put(K,V) 的调用未经检查
java:警告:[unchecked] 对作为普通类型 java.util.HashMap 的成员的put(K,V) 的调用未经检查 一.问题:学习HashMap时候,我做了这样一个程序: impor ...
- Mabitis 多表查询(一)resultType=“java.util.hashMap”
1.进行单表查询的时候,xml标签的写法如下 进行多表查询,且无确定返回类型时 xml标签写法如下: <select id="Volume" parameterType=&q ...
- 解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题
在项目中使用Apache开源的Services Framework CXF来发布WebService,CXF能够很简洁与Spring Framework 集成在一起,在发布WebService的过程中 ...
- LinkedHashMap和HashMap的比较使用 由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下。 ? import java.util.HashMap; impo
LinkedHashMap和HashMap的比较使用 由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下. import java.util.HashMap; import ...
- java.util.HashMap和java.util.HashTable (JDK1.8)
一.java.util.HashMap 1.1 java.util.HashMap 综述 java.util.HashMap继承结构如下图 HashMap是非线程安全的,key和value都支持nul ...
- 关于spring mybateis 定义resultType="java.util.HashMap"
关于spring mybateis 定义resultType="java.util.HashMap" List<HashMap<String, Object>& ...
- JDK1.8源码(七)——java.util.HashMap 类
本篇博客我们来介绍在 JDK1.8 中 HashMap 的源码实现,这也是最常用的一个集合.但是在介绍 HashMap 之前,我们先介绍什么是 Hash表. 1.哈希表 Hash表也称为散列表,也有直 ...
- org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.util.HashMap
这样的配置有问题吗? <select id="getFreightCollectManagementList" resultMap="java.util.HashM ...
- spring boot 之 错误:SpelEvaluationException: EL1008E: Property or field 'timestamp' cannot be found on object of type 'java.util.HashMap'
这个错误我也见过很多次了,今天终于理解了其出现的原因. 错误是这样的: 2017-11-23 18:05:39.504 ERROR 4092 --- [nio-8080-exec-3] o.a.c.c ...
- java.util.HashMap的简单介绍
1. java.util.HashMap的底层实现是数组+链表. 2. 简介put(key, value)方法的执行过程: 1)通过key值,使用散列算法计算出来一个hash值,用来确定该元素需要存储 ...
随机推荐
- Alcatraz安装 不能用解决方案
1.安装 1>Github上下载Alcatraz,下载地址:https://github.com/supermarin/Alcatraz 2>Alcatraz是xcode的插件,这个插件 ...
- AIDL
在介绍跨程序进程间通信AIDL前,先看一下本程序activity与某个服务是怎么绑定在一起进行交互的. 需求:服务有两个方法.分别是播放音乐与停止播放音乐.该程序的活动要访问这两个方法,在activi ...
- 导出word使用模版
在我们做我们的小组项目的时候,刚开始的时候我们用到的是Mvc+EF,用上了我们的ITOO框架.在最开始的计划,我们要用到瑞郎报表.可是呢,由于工期原因以及技术暂时没有实现,我们不得不想一个比较折中的方 ...
- Windows下MySQL zip版的简单安装
1.下载MySQL-5.5.10-win32.zip的版本.2.解压到任意路径,比如"D:\Programm Files\".3.进入MySQL路径,复制my-small.ini为 ...
- ADB常用的几个命令
1. 查看设备 adb devices 查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 2. 安装软件 adb install [-r] [-s] <file> ...
- HDU 3068 回文串-Manacher
题意链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068 题意:中文题. 思路:Manacher模板题 #include<iostream> ...
- 数据库查询Database中的表
public class UserDA { SqlConnection conn; SqlCommand cmd; public UserDA(Use uuu) { conn =new SqlConn ...
- three.js 场景入门
<!DOCTYPE html> <html> <head> <title>Example 01.02 - First Scene</title&g ...
- POJ3184 Ikki's Story I - Road Reconstruction(最大流)
求一次最大流后,分别对所有满流的边的容量+1,然后看是否存在增广路. #include<cstdio> #include<cstring> #include<queue& ...
- c#如何使用正则表达式ZZ
什么是正则表达式 正则表达式是用来检验和操作字符串的强大工具.简单的理解正则表达式可以认为是一种特殊的验证字符串.正则表达式常见运用是验证用户输入信息格式,比如上面的那组"\w{1 ...