Java之map介绍

本文介绍了Java中的Map集合,包括其特点:双列集合,键值一一对应且键不可重复。重点讲解了HashMap和LinkedHashMap这两个子类。HashMap基于哈希表,查询速度快,JDK1.8后实现方式变为数组加链表或红黑树,并且是无序的。而LinkedHashMap则是一个有序的Map集合,底层结合了哈希表和链表,能保持存取顺序。文章还提到了在存储自定义类型键值时,需要重写hashCode和equals方法以确保键的唯一性,并提供了相关的代码示例。
摘要由CSDN通过智能技术生成

1.概述

java.util.Map<k,v>集合

Map集合的特点:

1.Map是一个双列集合,一个元素包含两个值(key与value)

2.Map集合中的元素,key与value的数据类型可以相同,也可以不同

3.Map中的元素,key是不可重复的,value是允许重复

4.Map中的key与value一一对应

常用子类:

java.util.HashMap<k,v> implements Map<k,v>

HashMap集合特点:

1.底层是哈希表,查询速度特别快

JDK1.8之前:数组+单向链表

JDK1.8之后:数组+单向链表/红黑树(链表长度大于8时)

2.HashMap为无序的集合,存取顺序不一致

 

java.util.LinkedHashMap<k,v> implements HashMap<k,v>

LinkedHashMap集合特点:

1.LinkedHashMap底层为哈希表+链表(保证存取顺序)

2.LinkedHashMap是一个有序集合

 

2.Map中常用的方法

public V put(K key, V value) : 把指定的键与指定的值添加到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值