广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java Map集合用法详解
  • 184
分享到

Java Map集合用法详解

2024-04-02 19:04:59 184人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录Map集合的概述常用方法:遍历方式:Map的实现类:HashMapTreeMap集合嵌套(补充知识):高频面试题1、Map2、HashMap的底层实现Map集合的概述 概述:in

Map集合的概述

概述:interface Map<K,V> 其中K是键的类型,键是唯一的,不重复。V是值的类型,是可以重复。且每个键可以映射最多一个值。注意的是如果存在两个相同的键时,则会将现在的值替换之前的值。

创建方式:以多态的形式创建对象。

特点:

  • 键值对映射关系
  • 一个键对应一个值
  • 键不能重复,值可以重复
  • 元素存取无序

常用方法:

在这里插入图片描述

(put(K,V) 将指定的值与该映射中的指定j健相关联,用于添加,返回类型V);

其中获取功能:

在这里插入图片描述

其中:KeySet()返回为Set类型,所以键是唯一的,不重复。

遍历方式:

第一种:

在这里插入图片描述

通过获取键的集合,再用get方法获取到对应的值。

第二种:

在这里插入图片描述

Map的实现类:

HashMap

存储方式:

采用了 Key-value键值对映射的方式进行存储。

底层结构:采用哈希表的存储结构所以里面的数据是无序但是唯一的。(实现唯一的方式就是重写 Hashcode和equals方法)

TreeMap

底层结构:采用的是二叉树的存储方式里面的数据是唯一而且有序的而且一般是按升序的方式排列 (要实现comparable接口并且重写compareTo的方法用来实现它的排序)。

集合嵌套(补充知识):

类似这种形式为:

ArrayList<HashMap<String, String>> array = new ArrayList<HashMap<String, String>>();

为集合嵌套,主要注意的就是:在集合中嵌套集合的类型和方法使用。

高频面试

1、Map

HashMap: jdk1.8之前HashMap由数组+链表组成的,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的(“拉链法”解决冲突).JDK1.8以后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为8)时,将链表转化为红黑树,以减少搜索时间。

LinkedHashMap: LinkedHashMap 继承自 HashMap,所以它的底层仍然是基于拉链式散列结构即由数组和链表或红黑树组成。另外,LinkedHashMap 在上面结构的基础上,增加了一条双向链表,使得上面的结构可以保持键值对的插入顺序。同时通过对链表进行相应的操作,实现了访问顺序相关逻辑。详细可以查看:《LinkedHashMap 源码详细分析(JDK1.8)》。

HashTable: 数组+链表组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的。

TreeMap: 红黑树(自平衡的排序二叉树)。

2、HashMap的底层实现

JDK1.8 之前 HashMap 由 数组+链表 组成的(“链表散列” 即数组和链表的结合体)。

JDK1.8之后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为8)时,将链表转化为红黑树,以减少搜索时间,所以有数组+链表+红黑树组成。

到此这篇关于Java Map集合用法详解的文章就介绍到这了,更多相关Java Map集合内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java Map集合用法详解

本文链接: https://www.lsjlt.com/news/155198.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java Map集合用法详解
    目录Map集合的概述常用方法:遍历方式:Map的实现类:HashMapTreeMap集合嵌套(补充知识):高频面试题1、Map2、HashMap的底层实现Map集合的概述 概述:in...
    99+
    2022-11-12
  • Java中Map集合的常用方法详解
    目录1、V put(K key, V value)2、void putAll(Map<? extends K,? ext...
    99+
    2022-11-12
  • Java集合框架之Map详解
    目录1、Map的实现2、HashMap 和 Hashtable 的区别3、介绍下对象的 hashCode()和equals(),使用场景4、HashMap和TreeMap应该怎么选择...
    99+
    2022-11-13
  • 详解Java集合类之Map篇
    目录1.Map接口介绍2.Map接口分析3.Map接口方法4.Map遍历方式1.Map接口介绍 Map用于保存具有映射关系的数据:Key - Value 对于Set,底层其实依然是一...
    99+
    2022-11-13
  • Java常用集合之Set和Map的用法详解
    目录常用Set集合Set集合的特点HashSet创建对象常用方法遍历常用Map集合Map集合的概述HashMap创建对象常用方法遍历HashMap的key去重原理常用Set集合 Se...
    99+
    2022-11-13
  • Java 详解Map集合之HashMap和TreeMap
    目录HashMap创建HashMap添加元素访问元素删除元素TreeMap创建TreeMap添加元素访问元素删除元素HashMap、TreeMap区别 Map接口储存一组成对的键-值...
    99+
    2022-11-13
  • Java集合类之Map集合的特点及使用详解
    目录1、Map集合概述和使用1.1 Map集合概述1.2 Map集合常用方法1.3 Map集合的遍历1、Map集合概述和使用 1.1 Map集合概述 java.util接口 Map&...
    99+
    2022-11-13
  • Java集合框架之Set和Map详解
    目录Set接口HashSetTreeSetMap接口HashMapTreeMapSet接口 set接口等同于Collection接口,不过其方法的行为有更严谨的定义。set的add...
    99+
    2022-11-12
  • Java基础Map集合详析
    目录一、概述二、创建Map集合的对象方式四、Map的获取方法五、Map集合的遍历方式方式一:方式二:一、概述 Interface Map k:键的类型;V:值的类型将键映射到值的对象...
    99+
    2022-11-13
  • Java Collection集合用法详解
    目录1.集合的主要体系及分支1.1Collection集合及实现类2.List集合(List是带有索引的,所以多注意索引越界等问题)2.1 List的实现类3.Set集合3.1Has...
    99+
    2022-11-12
  • Java集合TreeSet用法详解
    第1部分 TreeSet介绍 TreeSet简介 TreeSet 是一个有序的集合,它的作用是提供有序的Set集合。它继承于AbstractSet抽象类,实现了NavigableSe...
    99+
    2022-11-12
  • Java集合之Map接口与实现类详解
    目录初识Map:Map接口没有从Collection接口继承,Map接口用于维护“键-值”对数据,这个“键-值”对就是Map中的元素,...
    99+
    2022-12-08
    Java 集合 Map接口 Java Map接口 Java实现Map接口
  • javascript ES6中set集合、map集合使用方法详解与源码实例
    set与map理解 ES6中新增,set集合和map集合就是一种数据的存储结构(在ES6之前数据存储结构只有array,object),不同的场景使用不同的集合去存储数据 set集合...
    99+
    2022-12-10
    javascript ES6中set集合 map集合使用方法详解与源码实例 JS ES6中set集合使用方法 JS ES6中map集合使用方法
  • Java中Map集合的双列集合怎么用
    这篇文章给大家分享的是有关Java中Map集合的双列集合怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Map集合Map概述Map是一种依照键(key)存储元素的容器,键(key)很像下标,在List中下标是...
    99+
    2023-06-25
  • 深入解读Java三大集合之map list set的用法
    Map接口和Collection接口是所有集合框架的父接口: Collection接口的子接口包括:Set接口和List接口 Map接口的实现类主要有:HashMap、TreeMap...
    99+
    2022-11-12
  • 如何解读Java三大集合中map list set的用法
    如何解读Java三大集合中map list set的用法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Map接口和Collection接口是所有集合框架的父接口...
    99+
    2023-06-25
  • Java集合类之TreeSet的用法详解
    目录上节回顾TreeSet集合概述和特点构造方法方法摘要Demo自然排序Comparable的使用比较器排序Comparator的使用上节回顾 LinkedHashSet集合概述及特...
    99+
    2022-11-13
  • java中map集合怎么使用
    在Java中,Map是一种键值对的集合,它提供了一种将键映射到值的方式。Map接口是Java集合框架中的一部分,它有多个实现类,例如...
    99+
    2023-10-08
    java
  • Java集合ConcurrentHashMap详解
    目录介绍 ConcurrentHashMap介绍转移节点(ForwardingNode)ConcurrentHashMap 的新增操作ConcurrentHashMap 的扩容机制C...
    99+
    2023-01-15
    Java集合 ConcurrentHashMap java concurrenthashmap原理 java concurrenthashmap用法
  • JAVA如何遍历Map集合
    这篇文章将为大家详细讲解有关JAVA如何遍历Map集合,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方法一:首先去通过获取迭代器,通过迭代器去遍历集合,获取key然后通过key去获取value,然后就完成...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作