学习于java编程思想 1 import java.io.Serializable; 2 import java.util.*; 3 4 /** 5 * 简单散列Map 6 * 7 * @param <K> 8 * @param <V> 9 */ 10 public class SimpleHash ...
分类:
其他好文 时间:
2020-06-08 23:58:22
阅读次数:
95
package cn.jdbc.test;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry; /** * Map 集合的循环遍历 * @data 201 ...
分类:
其他好文 时间:
2020-06-08 19:24:55
阅读次数:
73
数组和链表组合构成 hash code 相等的value存入链表 size/capacity >0.75 时 会扩容,长度是原数组的2倍 Hash的公式 > index = HashCode(Key) & (Length - 1) 扩容后,原来的数组成员会根据公式重新分配index. JAVA8之前 ...
分类:
其他好文 时间:
2020-06-08 10:57:16
阅读次数:
65
HashMap在进行put操作时有很多细节设计的确值得我们去学习,下面是对put方法的一些接单的介绍,如果有什么不足之处还希望大佬能给与指出;既然说到集合的底层原理,首先要介绍一下HashMap的底层数据结构: JDK1.8以前底层的结构为数组+链表;JDK1.8及以后对HashMap进行了优化(不 ...
分类:
其他好文 时间:
2020-06-08 00:40:22
阅读次数:
67
一、Set集合特点 插入无序,不可指定位置访问。且内部数据不能重复(==或equals)的元素(只要有一个为true就不能重复,重写了equals方法也算)。常用实现类有HashSet、TreeSet。 二、元素不能重复? 1.Set是如何判断元素重复? HashSet是由HashMap实现的,Ha ...
分类:
其他好文 时间:
2020-06-08 00:20:20
阅读次数:
80
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } * ...
分类:
其他好文 时间:
2020-06-07 12:54:05
阅读次数:
68
原因: 1、测试连接超时导致; 解决办法:修改spring中配置文件 spring.redis.timeout=800 ,调大超时时间 同时引入了lettuce和jedis的依赖导致的,项目中排出jedis的依赖并加入apache的 <dependency> <groupId>org.apache. ...
分类:
编程语言 时间:
2020-06-07 10:52:48
阅读次数:
108
前言:我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,但是其线程不安全主要体现在什么地方呢,本文将对该问题进行解密。1.jdk1.7中的HashMap在jdk1.8中对HashMap做了很多优化,这里先分析在jdk1.7中的问题,相信大家都知道在jdk1.7多线程环境下HashMap容易出现死循环,这里我们先用代码来模拟出现死循环的情况:1publicclassHashMapTe
分类:
编程语言 时间:
2020-06-06 23:19:27
阅读次数:
81
先来看一看老版本HashMap扩容代码: void resize(int newCapacity) { Entry[] oldTable = table; int oldCapacity = oldTable.length; ...... //创建一个新的Hash Table Entry[] new ...
分类:
其他好文 时间:
2020-06-06 13:05:28
阅读次数:
87
转自:https://www.cnblogs.com/zengcongcong/p/11295349.html 1.谈一下HashMap的特性? 1.HashMap存储键值对实现快速存取,允许为null。key值不可重复,若key值重复则覆盖。 2.非同步,线程不安全。 3.底层是hash表,不保证 ...
分类:
其他好文 时间:
2020-06-06 00:59:32
阅读次数:
95