在 Java 中,我们经常会使用到一些处理缓存数据的集合类,这些集合类都有自己的特点,今天主要分享下 Java 集合中几种经常用的 Map、List、Set。 1、Map 一、背景 二、Map家族 三、HashMap、Hashtable等 四、HashMap 底层数据结构 2、List 一、List ...
分类:
编程语言 时间:
2020-04-19 14:29:18
阅读次数:
66
题目地址: "https://leetcode cn.com/problems/two sum/" 1.暴力解法 直接双重循环,枚举出所有可能的解,时间复杂度为O(n^2),空间复杂度为O(1) 2.HashTable 第一次循环将数组nums中的每个数都放入map中 第二次循环判断target n ...
分类:
其他好文 时间:
2020-04-17 00:50:56
阅读次数:
61
要点 ConcurrentHashMap是HashMap的线程安全版本; 不允许[key,value]为null; 比Hashtable锁粒度更细; 采用CAS和synchronized来保证并发安全。数据结构跟HashMap1.8的结构一样,数组+链表/红黑二叉树; 负载因子0.75; 默认初始化 ...
分类:
编程语言 时间:
2020-04-16 19:40:58
阅读次数:
76
本文专门解析 JDK 1.8 ConcurrentHashMap,文中你可以找到大多数关于 ConcurrentHashMap 问题的答案,正因为本文仅专注于 ConcurrentHashMap,因此就没有与 HashMap 等纵向比较的内容。 为了便于说明下文的 chm 与 ConcurrentH ...
分类:
其他好文 时间:
2020-04-14 10:54:18
阅读次数:
70
一:概述 - Redis 源码版本为3.0.0. - Redis 集合命令请戳。 - OBJECT ENCODING key 查看数据底层类型实现。 二:集合对象的底层实现 - 编码方式 - 字符串对象共有两种编码方式 intset(整数集合) / hashtable(字典) - 编码方式的选择 - ...
分类:
其他好文 时间:
2020-04-13 13:51:38
阅读次数:
84
一、java.util.HashMap 1.1 java.util.HashMap 综述 java.util.HashMap继承结构如下图 HashMap是非线程安全的,key和value都支持null HashMap的节点是链表,节点的equals比较的是节点的key和value内容是否相等。 1 ...
分类:
编程语言 时间:
2020-04-13 00:25:43
阅读次数:
64
ylbtech-Code-Convert:public static void LoadModel<T>(T model, Hashtable ht) 1.返回顶部 1、 using System; using System.Collections; namespace Sp.Common { pu ...
分类:
其他好文 时间:
2020-04-12 12:19:11
阅读次数:
65
属性集 5.1 概述 继承于 ,来表示一个持久的属性集。它使用键值结构存储数据,每个键及其对应值都是一个字符串。该类也被许多Java类使用,比如获取系统属性时, 方法就是返回一个 对象。 java.util.Propertise集合 extends Hashtable implements Map ...
分类:
其他好文 时间:
2020-04-11 23:34:32
阅读次数:
120
几个要点 HashTable底层的数据结构基于链表(O(n))的数组; HashTable不允许空key和空value; HashMap元素非按照写入时顺序排序,而是按Key的hash取n模来排序(算法优化采用(n - 1) & hash) HashTable线程安全类,但它是直接在方法上使用syn ...
分类:
编程语言 时间:
2020-04-11 13:29:11
阅读次数:
102