Java学习总结-Map集合的实现类

devtools/2025/3/29 7:35:36/

HashMap集合的底层原理

实际上:原来学的Set系列集合的底层就是基于Map实现的,只是Set集合中的元素只要键数据,不要值数据。

哈希表:

JDK8之前,哈希表 =  数组 + 链表;

JDK8开始,哈希表 =  数组 + 链表 +红黑树;

哈希表是一种增删改查数据,性能都比较好的数据结构。

LinkedHashMap的底层原理

实际上:原来提到的LinkedHashSet集合的底层原理就是LinkedHashMap。

底层依然基于哈希表实现的,只是每一个键值对元素又额外的多了一个双链表的机制记录元素顺序(保证有序)

TreeMap的使用

特点:不重复、无索引、可排序(按照键的大小默认升序排序,只能对键排序)

原理:Tree Map跟TreeSet集合的底层原理是一样的,都是基于红黑树实现的排序。


http://www.ppmy.cn/devtools/171281.html

相关文章

第30周Java分布式入门 ThreadLocal

ThreadLocal 课程笔记 一、章节结构概述 本章主要学习重要的工具类 ThreadLocal。章节分为六大模块: ThreadLocal 的两大使用场景ThreadLocal 所带来的好处ThreadLocal 的主要方法及使用顺序ThreadLocal 原理源码分析使用 ThreadLocal 的注意点和使用规范 从下一…

Linux学习笔记(应用篇二)

基于I.MX6ULL.MINI开发板 开发板与电脑相互通信电脑与开发板互传文件 开发板与电脑相互通信 用网线将电脑与开发板连接 本人使用的是Ubuntu系统,不是虚拟机 一般来说刚开始电脑和开发板是ping不通的 首先查看电脑的 IP WinR,cmd调出终端 我使用的是…

centos 7 部署FTP 服务用shell 搭建脚本,使用时稍微修改自己所需需求

#!/bin/bash # 检查是否为 root 用户 if [ "$(id -u)" ! "0" ]; then echo "此脚本需要以 root 用户身份运行。" exit 1 fi # 安装 vsftpd yum install vsftpd -y # 备份原始配置文件 cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd…

ngx_http_core_location

定义在 src\http\ngx_http_core_module.c static char * ngx_http_core_location(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy) {char *rv;u_char *mod;size_t len;ngx_str_t *value, *n…

DeepSeek 协程API 调用与 vllm推理,llamafactory本地vllm部署

文章目录 简介代码实战调用官方API协程异步调用异步协程 方法二 vllm_infer 简介 使用协程调用DeepSeek的API,发现效果并不明显,没有加速的效果。 但如是本地部署DeepSeek,本地部署需要支持异步调用,我使用 llamafactory 部署&am…

leetcode 之(移除元素)

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作: 更改…

【python】OpenCV—Hand Landmarks Detection

文章目录 1、功能描述2、代码实现3、效果展示4、完整代码5、涉及到的库函数6、参考 更多有趣的代码示例,可参考【Programming】 1、功能描述 基于 opencv-python 和 mediapipe 实现手部关键点的检测(无法检测出手,不过可以根据关键点的信息外…

Hive问题记录(1)

在初始化中遇到的问题: [rootmaster data]# schematool -dbType derby -initSchema SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/data/hive/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.cl…