hashmap的数据结构 hashmap的结构,是一个数组,每个数组元素是一个链表,数组和链表的结合体。 如下图所示: hashmap中的put方法逻辑 先根据key的hashcode计算出hash值,然后根据hash值得到这个元素在数组中的位置, 如果这个位置为空,直接插入元素;如果不为空,和eq ...
分类:
编程语言 时间:
2020-06-19 12:30:26
阅读次数:
64
ConcurrentHashMap源码解析 ConcurrentHashMap是什么? 它是对HashMap线程安全性的增强类,保证了Map对象在多线程环境下的读写的线程安全性。在使用方法上和HashMap保持一致,都是Map接口的实现类。 类结构 核心数据结构 核心数据结构和HashMap相同,都 ...
分类:
其他好文 时间:
2020-06-18 19:44:46
阅读次数:
64
/** 1. 什么是哈希表 哈希表也叫散列表,是根据关键码值(Key value)而直接进行访问的数据结构。 2. 哈希算法的特点 哈希表是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映射到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列, ...
分类:
编程语言 时间:
2020-06-18 13:22:58
阅读次数:
63
1.HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,在只有一个线程访问的情况下,效率要高于Hashtable。 2.HashMap允许将null作为一个entry的key或者val ...
分类:
编程语言 时间:
2020-06-18 12:32:09
阅读次数:
55
public class PackData extends HashMap implements Map{ private static final long serialVersionUID = 1L; Map map = null; HttpServletRequest request; pub ...
分类:
其他好文 时间:
2020-06-17 23:11:28
阅读次数:
59
ConcurrentMap 一.概述 ConcurrentMap及其子类是JDK1.5提供的一套用于应对高并发的映射机制,在高并发时能比较好地保证线程安全。 二. ConcurrentHashMap(并发哈希映射) 性质(其下前4点同HashMap的性质) 底层基于数组+链表的结构实现 数组的默认容 ...
分类:
其他好文 时间:
2020-06-17 20:36:45
阅读次数:
55
最强面试题推荐: 2020Java面试题及答案,命中率高达90% 蚂蚁金服Java一面 1. 二叉搜索树和平衡二叉树有什么关系,强平衡二叉树(AVL 树)和弱平衡二叉树 (红黑树)有什么区别 2. B 树和 B+树的区别,为什么 MySQL 要使用 B+树 3. HashMap 如何解决 Hash冲 ...
分类:
编程语言 时间:
2020-06-17 11:07:56
阅读次数:
754
摘要 HashMap的原理也是大厂面试中经常会涉及的问题,同时也是工作中常用到的Java容器,本文主要通过对以下问题进行分析讲解,来帮助大家理解HashMap的原理。 1.HashMap添加一个键值对的过程是怎么样的? 2.为什么说HashMap不是线程安全的? 3.为什么要一起重写hashCode ...
分类:
其他好文 时间:
2020-06-17 10:41:30
阅读次数:
35
使用HashMap存储多个企鹅信息,然后统一使用Iterator进行遍历 package work;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public ...
分类:
其他好文 时间:
2020-06-16 23:50:23
阅读次数:
101
目录结构 package com.wish.config; import java.io.*; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Properties ...
分类:
编程语言 时间:
2020-06-16 16:55:57
阅读次数:
156