JAVA面向对象学习——java集合———HashMap——HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap 实现了 Map 接口,根据键的 HashC...

Java数据结构---HashMap(哈希表及其基本操作)(含hashset) Java数据结构---HashMap(哈希表及其基本操作)1. HashMap简介2. 基础操作(增、删、改、查)3. 其他操作 1. HashMap简介 HashMap一个散列表,它存储内容(key-value)映射HashMapkeyvalue 类型可以相同也可以不同,根据定义,不受限制。 2. 基础操作(增、删、改、查) 定义一个哈希表 HashMap<Integer, String> hashmap= new HashMap<Integer, Str 阅读详情

HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。

HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。

HashMap 是无序的,即不会记录插入的顺序。

HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。

HashMap 的 key 与 value 类型可以相同也可以不同,可以是字符串(String)类型的 key 和 value,也可以是整型(Integer)的 key 和字符串(String)类型的 value。

HashMap 中的元素实际上是对象,一些常见的基本类型可以使用它的包装类。

基本类型对应的包装类表如下:

基本类型引用类型
booleanBoolean
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter

ava HashMap 方法

hashmap

Java HashMap 常用方法列表如下:

方法描述
clear()删除 hashMap 中的所有键/值对
clone()复制一份 hashMap
isEmpty()判断 hashMap 是否为空
size()计算 hashMap 中键/值对的数量
put()将键/值对添加到 hashMap 中
putAll()将所有键/值对添加到 hashMap 中
putIfAbsent()如果 hashMap 中不存在指定的键,则将指定的键/值对插入到 hashMap 中。
remove()删除 hashMap 中指定键 key 的映射关系
containsKey()检查 hashMap 中是否存在指定的 key 对应的映射关系。
containsValue()检查 hashMap 中是否存在指定的 value 对应的映射关系。
replace()替换 hashMap 中是指定的 key 对应的 value。
replaceAll()将 hashMap 中的所有映射关系替换成给定的函数所执行的结果。
get()获取指定 key 对应对 value
getOrDefault()获取指定 key 对应对 value,如果找不到 key ,则返回设置的默认值
forEach()对 hashMap 中的每个映射执行指定的操作。
entrySet()返回 hashMap 中所有映射项的集合集合视图。
keySet()返回 hashMap 中所有 key 组成的集合视图。
values()返回 hashMap 中存在的所有 value 值。
merge()添加键值对到 hashMap 中
compute()对 hashMap 中指定 key 的值进行重新计算
computeIfAbsent()对 hashMap 中指定 key 的值进行重新计算,如果不存在这个 key,则添加到 hasMap 中
computeIfPresent()对 hashMap 中指定 key 的值进行重新计算,前提是该 key 存在于 hashMap 中。

更多 API 方法可以查看:https://www.runoob.com/manual/jdk11api/java.base/java/util/HashMap.html

Java学习_集合_HashMap学习(含一个key插入多个value值) package com.study.day8; import javax.print.DocFlavor; import java.util.*; import java.util.Map.Entry; /** * @program: test * @author: zhaona * @create: 2020-10-10 18:14 * @description:HashMap使用键值对keyvalue)形式进行存储,无迭代器iterator方法 * */ public class H. 阅读详情

相关推荐

Doris + Iceberg 实现高效数据湖分层:架构解析与最佳实践

本文深入解析了如何利用Doris与Iceberg构建高效的数据湖冷热分层架构。通过将高频访问的热数据存储在Doris中以实现毫秒级查询,同时将历史冷数据归档至低成本的Iceberg存储,该方案在保障查询性能的同时显著降低了总体拥有成本。文章详细阐述了从架构设计、自动化迁移到统一查询的最佳实践,为应对海量数据下的成本与性能平衡提供了实战指南。

weixin_29207533的博客 103

HashMap根据value获取key

Map集合的特性:一个key值对应一个value值,key值保持着唯一性,而插入的键值对相同key值会发生覆盖原key值对应的value值。 Map集合一个key对应一个value,但是一个相同的value值可以对应多个key值 下面我们来根据value获取key根据key获取value(1.foreach循环遍历 2.迭代器遍历) 举一个例子会更生动! 题目 创建一个Map集合,在集合中放入年份、世界杯冠军获得的国家。存储键值对例如:“1994”,“巴西”;“1962”,“巴西”;(key存储年份,value存储国家球队) 1、从命令行中读入一个字符串,表示年份,输出该年的世界杯冠军是

python点云可视化

Python三种点云可视化方案:mayavi、matplotlib、CloudCompare。

叶子的博客 1万+

JavaMap遍历key-value的四种方法

Map遍历key-value的四种方法 (1)先用keySet()取出所有key值,再取出对应value——增强for循环遍历 (2)先用keySet()取出所有key值,再取出对应value——使用迭代器遍历 (3)通过entrySet来获取key-value——增强for循环遍历 (4)通过entrySet来获取key-value——使用迭代器遍历

dengmsjava的博客 2万+

通过Arrays.asList将数组转换为list之后,不能将转换后的list添加到其他list的后面,报错java.lang.UnsupportedOperationException

在进行数据处理的是将,将字符串转化为数组,再讲数组通过Arrays工具类转成list,最后拼接list并进行数据去重操作,发现通过Arrays.asList(scopes)之后的list不能进行拼接。报错java.lang.UnsupportedOperationException。通过源码分析发现,asList()方法返回的是Arrays类中定义的私有类,不是java.util包中的类,且java属于强类型检查的语言,所以报错了。 修改代码如下: ...

Simon111Qiu的博客 361

JAVA读取hashmapkeyvalue值的三种常见方法】

JAVA读取hashmapkeyvalue值的三种常见方法

qq_44622851的博客 4817

java map 区别_Java中的HashMapMap对象之间有什么区别?

小编典典对象之间没有区别;HashMap在两种情况下,你都有一个。你与对象之间的接口有所不同。在第一种情况下,接口HashMap,而在第二种情况下为Map。但是底层对象是相同的。使用Map它的好处是你可以将基础对象更改为另一种类型的映射,而不会与使用它的任何代码破坏合同。如果将其声明为HashMap,则要更改基础实现,则必须更改合同。示例:假设我编写了此类:class Foo {private ...

weixin_36039434的博客 1290

Map对象与普通对象的区别

JavaScript中Map对象和普通对象的主要区别包括:1) Map可以是任意类型,而普通对象只能是字符串/Symbol;2) Map保持插入顺序;3) Map有size属性可直接获取大小;4) Map支持直接迭代;5) Map在频繁增删操作时性能更优;6) Map无原型链冲突;7) Map不能直接JSON序列化。根据场景需求选择合适的数据结构Map更适合需要复杂或频繁操作的场景,而普通对象适合简单键值对和需要序列化的场景。

油墨香^-^的博客 611

Java集合之一—HashMap

深入浅出学Java——HashMap 哈希表(hash table) 也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,本文会对java集合框架中的对应实现HashMap实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。 一、什么是哈希表 在讨论哈希表之前,我们先大概了解下其他数据结构在新增,...

深入浅出学JAVA 60万+

Java Map集合精讲:键值对高效操作指南

本文介绍了JavaMap接口及其实现类的基本概念和使用方法。Map是一种存储键值对(key-value)的双列集合,具有唯一、值可重复的特点。主要讲解了以下内容Map接口常用方法:put、get、remove等基础操作 两种遍历方式:keySet遍历和entrySet遍历 主要实现类对比: HashMap:基于哈希表,无序但高效 Hashtable:线程安全但性能较低 TreeMap:基于红黑树,保持的自然或自定义顺序 LinkedHashMap:保持插入顺序 文章通过具体代码示例演示了各种Map

m0_73073987的博客 1417

Java 中的集合框架之 Map接口HashMap 类、HashTable 类、TreeMap 类(1万字超全详解)

接口描述Collection 接口Collection 是最基本的集合接口一个 Collection 代表一组 Object(即 Collection 的元素), Java不提供直接继承自 Collection的类,只提供继承自 Collection 接口的子接口(如 List和 set)。Collection 接口存储一组不唯一,无序的对象(不能通过索引来访问 Collection 集合中的对象)。List 接口

林二月的博客 1787

Java】—— 集合框架:Map接口的常用方法和主要实现HashMap、LinkedHashMap、TreeMap、Hashtable、Properties

Map与Collection并列存在。用于保存具有映射关系的数据key-valueCollection集合称为单列集合,元素是孤立存在的(理解为单身)。Map集合称为双列集合,元素是成对存在的(理解为夫妻)Map 中的 keyvalue 都可以是任何引用类型的数据。但常用String类作为Map的“”。HashMapTreeMap和。其中,HashMapMap 接口使用频率最高的实现类。HashMapMap 接口使用频率最高的实现类。HashMap是线程不安全的。

weixin_63106307的博客 1786

Java——集合中的Map接口通过HashMap实现一些常用的方法

Java——集合中的Map接口通过HashMap实现一些常用的方法

贝尔摩德苦艾酒 9867

Java基础|第二十四篇】集合集合框架(四)——Map接口

Java集合框架之Map接口摘要 MapJava双列集合的根接口,用于存储键值对key-value映射关系。其特点包括:唯一性、值可重复、高效的查找访问(基于哈希表或红黑树)。核心方法涵盖增删改查(如put()、remove()、get())、判空(isEmpty())及遍历支持(keySet()、entrySet())。遍历方式包括:通过keySet获取集合、通过entrySet直接操作键值对,或通过values遍历值集合。主要实现类有HashMap(无序)、Hashtable(线程安全)、Li

m0_74177281的博客 1115

Java中的集合3(Map接口HashMap、TreeMap、Hashtable、Map接口集合迭代、Collections类)

文章目录Map接口Map接口的特点Map接口的常用方法实现类:HashMap概述HashMap存储结构哈希表HashMapHashMap的常用方法实现类:TreeSetTreeSet的特点TreeSet的使用实现类:HashtableMap接口集合遍历根据找值根据键值对对象和值Collections类概述Collections的使用 Map接口 Map接口是区别去Collection接口集合中的另一大类,对于Collection来说,它们使用的是单列存储,而Map都是双列存储实现类: 1、H

Lotus_dong的博客 738

基于《java2实用教程》的java知识点复习整理【第十五章——Java泛型与集合框架】

第十五章——Java泛型与集合框架 一、知识结构框架 二、知识点详解 ###1、泛型 编写的代码可以被不同类型的对象所重用,主要目的是可以建立具有类型安全的集合框架。 1.1 泛型类 具有泛型变量的类,在类名后用代表引用类型,如ArrayList,HashMap,HashSet //ArrayList部分源码 public class ArrayList<E> extends AbstractList<E> implements List<E>,RandomAc

农夫的码,没有草原 924

hashmap散列表吗_用几个问题来理解HashMap

Java面试时,HashMap被问到的机率还是很大的,当面试管问:“你对HashMap的理解有多少”时,你是否会呆滞一下。也许你有看过HashMap相关的介绍,甚至有看过源码并分析过。但因时光流逝,对HashMap的理解就变成了碎片记忆,思路混乱,不知从何说起。我以面试官的身份进入一问一答。面试官的习惯就是刨根问底,因为是面试回答,所以我这边对于回答并没有太详细讲解,毕竟面试中,哪有那么多时间听...

weixin_39919165的博客 350

Java集合-Map接口(key-value)

特点:①Key唯一,不允许重复②Value允许重复③keyvalue不允许为空,如果为null,则抛出NullPointerExceptino④线程安全,使用synchronized加锁,性能较差。特点:①Key唯一,不允许重复②Value允许重复③有序④LinkedHashMapHashMap的子类。特点:①Key唯一,不允许重复②Value允许重复③按照Key自动排序④AbstractMap的子类。:根据key,获取value,如果key存在,获取该元素的键值对value值;

m0_64481525的博客 2398

Java HashMap

HashMap一个散列表,它存储内容键值对(key-value)映射HashMap 实现Map 接口根据HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的为 null,不支持线程同步。HashMap 是无序的,即不会记录插入的顺序。HashMap 继承于AbstractMap实现Map、Cloneable、java.io.Serializable 接口

2301_78835635的博客 271

HashMap解读

HashMap ,是一种散列表,用于存储 key-value 键值对数据结构,一般翻译为“哈希表”,提供平均时间复杂度为 O(1) 的、基于 key 级别的 get/put 等操作。哈希表结构为数组,链表和红黑树。如图哈希表渴望实现O1的查找时间复杂度,因此采用数组作为基础结构,通过哈希函数,计算key的哈希值,哈希表指示存储数组的下标,但是会出现不同key对应同一个哈希值,则称作哈希碰撞,采取拉链法解决,将同一下标的所有节点链接为链表。但是当链表长度过长,hash表便也失去了平均o1的特性。因此在一定条

不知名路人甲的博客 2066

某小区6层住宅楼施工组织设计(图纸,横道图和施工总平面图,论文,工程量计算).zip

某小区6层住宅楼施工组织设计(图纸,横道图和施工总平面图,论文,工程量计算).zip

上一篇: JAVA面向对象学习——java集合———Set——Set集合
下一篇: JAVA面向对象学习——java集合———Map——Map集合
小白龙白龙马
博客等级 码龄5年 557粉丝 2023原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值