1、什么是哈希表? 哈希表(HashTable)又叫做散列表,是根据关键码值(即键值对)而直接访问的数据结构。也就是说,它通过把关键码映射到表中一个位置来访问记录,以加快查找速度。这个映射函数就叫做散列(哈希)函数,存放记录的数组叫做散列表。 2、为什么哈希表的速度快? 在数据结构中,我们对两种数据 ...
分类:
编程语言 时间:
2020-07-01 09:50:13
阅读次数:
51
一、Collection接口 1、List接口 ,Set接口 2、ArrayLIst,LinkedList,Vector,Stack 3、HashSet,LInkedHashSet,TreeSet 二、Map接口 1、HashMap,LinkedHashMap,TreeMap; 三、Iterator ...
分类:
编程语言 时间:
2020-07-01 09:21:03
阅读次数:
72
HashMap详解(基于JDK 1.8) 简介 Map接口定义了映射关系,有四个常用实现类: HashMap Hashtable LinkedHashMap TreeMap HashMap: 根据键key的hashCode值存储数据. 访问速度快,遍历速度较慢. 最多允许一条记录的键为null. 允 ...
分类:
其他好文 时间:
2020-06-30 22:12:04
阅读次数:
81
锁 重入锁 读写锁 悲观锁、乐观锁 公平锁、非公平锁 自旋锁 分布式锁 锁 锁是用来控制多个线程访问共享资源的工具。作为并发控制,保证一致性的工具,锁本质上是一个标记。 把这个标记放在关系数据库(RDBMS)中,我们就可以使用数据库的方式实现锁机制。比如设计一张锁表,表中有个字段state,stat ...
分类:
编程语言 时间:
2020-06-30 20:46:05
阅读次数:
65
` public class MapUtil { public static Map<String, Object> keyToLowerCase(Map<String, Object> orgMap) { Map<String, Object> resultMap = new HashMap<>( ...
分类:
其他好文 时间:
2020-06-30 17:44:42
阅读次数:
243
1.使用数组加链表的形式简单的实现hashmap的put,get,size方法package com.ycs;import java.util.Collection;import java.util.Map;import java.util.Set;public class MyHashMap<K, ...
分类:
其他好文 时间:
2020-06-30 17:21:23
阅读次数:
54
三种散列表的公共部分 三者都是存储键值对的Key-Value key会被映射到数组索引, Entry对象则是数组中对应的值。 Key通过Hash算法得到哈希码(HashCode), 通过哈希码与数组中的索引对应。 因此所有的键值对Hash表都是无序储存的。 键值对的查找过程: (hashCode() ...
分类:
其他好文 时间:
2020-06-30 16:04:40
阅读次数:
88
Java demo: Map<String, User> map = new HashMap<>(); map.put("id1", new User(1,"name1")); map.put("id2", new User(2,"name2")); String str = map.entrySe ...
分类:
编程语言 时间:
2020-06-30 12:35:18
阅读次数:
125
Question Theory An Example // Expression.java import java.util.HashMap; public abstract class Expression { public abstract int interpreter(HashMap<Str ...
分类:
其他好文 时间:
2020-06-29 18:29:08
阅读次数:
56
问题 ps:部分代码参考leetcode和剑指offer。另外,三道题目都可以通过HashMap和Hashset做 1、只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 def singleNumber(nums): """ 异 ...
分类:
其他好文 时间:
2020-06-29 16:53:37
阅读次数:
60