搜索结果
查询Tags标签: hashmap,共有 840条记录-
字节跳动 抖音直播支付 java实习面经
一面: 1.自我介绍 2.项目 3.hashmap原理,扩容,hashmap怎么缩容 4.hashtable hashmap synchronizedmap concurrentmap 5.代理模式 6.快排归并,区别,手撕时间复杂度推导 7.思维题 两个人轮流扔硬币,谁先扔正面谁赢,求先抛的人赢得概率 8.算法题 排列组合 二面: 1.自我介…
2022/3/1 20:51:45 人评论 次浏览 -
HashMap源码解析
一、HashMap用到的数据结构 哈希表、数组、链表、红黑树 数组、链表这里不再讲了 1.哈希表 (1).哈希表定义: 哈希表又叫散列表,是一种根据设定的映射函数f(key)将一组关键字映射到一个有限且连续的地址区间上,并以关键字在地址区间中的“像”作为元素在表中的存储位置的…
2022/2/28 20:21:55 人评论 次浏览 -
Java集合容器面试题
Java常用集合类有哪些?Collection接口的子接口包括:Set接口和List接口Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等Set接口的实现类主要有:HashSet、TreeSet、LinkedHashSet等List接口的实现类主要有:ArrayList、LinkedLi…
2022/2/27 11:51:26 人评论 次浏览 -
无重复字符的最长子串-滑动窗口法
class Solution {public int lengthOfLongestSubstring(String s) {int len = s.length(), max = 0;Map<Character, Integer> map = new HashMap<>();//try to extend the range [start, end]int start = 0;for (int end = 0; end <len; end++) {if (map.c…
2022/2/26 23:24:43 人评论 次浏览 -
LinkedHashSet源码分析
LinkedHashSet源码分析java模拟数组+链表:java模拟数组+链表 - CoderDreams - 博客园 (cnblogs.com)(LinkedHashSet为双向链表)结论LinkedHashSet加入顺序和取出元素的顺序是一致的维护的是一个LinkedHashMap(是HashMap的子类)底层结构是数组table(HashMap$Node[])+双向…
2022/2/26 17:51:25 人评论 次浏览 -
【java8】Collectors.toMap异常记录
Stream Collectors.toMap在使用时如果value为null,会抛出空指针异常;因为Map中也会存在一些实现是value不能为空的; 替换方案: list.stream().collect(HashMap::new,(m, v)->m.put(v.getName(), v.getAddress()), HashMap::putAll);所以在使用Collectors.toMap时需…
2022/2/24 20:52:47 人评论 次浏览 -
【卡卡谈Java】HashMap源码深度解析【重点】
【重点】HashMap源码深度解析 摘要哈希表哈希冲突HashMap 数据结构数据结构 HashMap实现原理构造方法PUT实现 HashMap的数组长度一定是2的次幂get原理 HashMap和HashTable 的异同? 结语同学们,今天我们一起来深度解析HashMap的源码,相信很多同学在面试过程中都会被问到…
2022/2/23 17:51:44 人评论 次浏览 -
RocketMQ(二) - NameServer路由元信息分析
RocketMQ(二) - NameServer路由元信息分析上一篇详细分析了 NameServer的启动流程 (不包括底层服务端的启动, 仅限于 NamesrvController层面的启动)。 这一篇 主要 针对NameServer在RocketMQ中的角色原理做介绍。我们知道 RocektMQ中的组件分为: producer、consumer、br…
2022/2/21 6:26:41 人评论 次浏览 -
Java基础(3)|Collection
Java基础(3)|Collection 目录Java基础(3)|Collection1、Collection接口继承树2、基本操作3、Collection的遍历4、Set4.1、HashSet4.2、LinkedHashSet 1、Collection接口继承树2、基本操作add(Object o):增加元素 addAll(Collection c):... clear():... contains(…
2022/2/20 17:35:08 人评论 次浏览 -
HashMap和ConcurrentHashMap在JDK1.7和1.8的区别
一、HashMap在JDK1.8里的优化1.结构上加了红黑树,提高了在高哈希冲突在的效率(链表长度为8且数组长度超过64) 2.插入时采用尾插法,避免了并发情况下的循环链表,但不能避免并发时数据覆盖(1.7会倒置链表)3.二次哈希时扰动处理优化(4次位运算,5次异或到1次位运算,…
2022/2/20 6:26:16 人评论 次浏览 -
HashMap(1.8)源码学习
一.HashMap介绍 1.哈希表(hash table)在哈希表中进行添加,删除,查找等操作,时间复杂度为O(1)存储位置 = f(关键字) 其中,这个函数f一般称为哈希函数,这个函数的设计好坏会直接影响到哈希表的优劣 将key通过哈希算法计算出哈希值,把哈希值作为数组下标 通过该方法建…
2022/2/19 14:42:49 人评论 次浏览 -
HashSet源码学习
一.介绍 1.HashSet2.HashSet和HashMap的区别 1.相同点HashSet 内部使用 HashMap 存储元素,对应的键值对的键为 Set 的存储元素,值为一个默认的 Object 对象。 HashSet和HashMap都是采用Hash算法来决定其元素的存储 都不是同步的2.不同点HashSet实现了Set接口 HashMap实现…
2022/2/19 14:42:45 人评论 次浏览 -
【每天10问】002 后端知识点 2022.02.16 周三
每天10问: 是一个系列,不代表一定是10问,可能只有3问,主要是 记录当天自己的 技术思考和收获等 问题01:LinkedHashMap的底层也还是 数组吗? 普通的 HashMap有什么区别?答: 是 数组+ 双向链表 (树化后是 红黑树),普通的 HashMap是 数组+单向链表, 具体可以查看 htt…
2022/2/16 23:17:01 人评论 次浏览 -
Java面试--HashMap是如何添加元素的
HashMap是如何添加元素的 链接 前提知识 集合类存放于 Java.util 包中,主要有 3 种:Set(集)、List(列表包含 Queue)和 Map(映射)。Collection:Collection 是集合 List、Set、Queue 的最基本的接口。Iterator:迭代器,可以通过迭代器遍历集合中的数据Map:是映射表的…
2022/2/16 20:41:40 人评论 次浏览 -
【深究系列】实现自己的HashMap
【深究系列】实现自己的HashMappublic class MyHashMap {static class Entry{private Object key;private Object value;private Entry next;public Entry(Object key, Object value) {this.key = key;this.value = value;}public Object getKey() {return key;}public vo…
2022/2/14 23:13:17 人评论 次浏览