HashMap了解吗? HashMap底层数据结构:数组+链表+红黑树 允许put null值,HashMap在调用hash算法时,如果key为null,那么hash值为0,这一点和HashTable和ConcurrentHashMap有所不同。 (key == null) ? 0:(h=key.hashCode()) ^ (h >>> 16); loadFactor:负载因子,默认为0.75,时均衡了时间和空间损耗计算出来的,较高的值会减少空间的开销,扩容减少,数组大小增加速度变慢,但是查找成本…

2021年4月21日 0条评论 14点热度 阅读全文

线程是否安全 1.HashMap 是非线程安全的,HashTable 是线程安全的;HashTable 内部的方法基本都经过 synchronized 修饰。(如果你要保证线程安全的话就使用 ConcurrentHashMap 吧!); 效率 2.因为线程安全的问题,HashMap 要比 HashTable 效率高一点; 对Null key 和Null value的支持 3 HashMap 中,null 可以作为键,这样的键只有一个,可以有一个或多个键所对应的值为 null。但是在 HashTable 中 put …

2021年4月20日 0条评论 14点热度 阅读全文

java中集合大概可以分为两大类,Collection和map。而collection又分别包括set和list,今天我们探讨一下继承自collection集合的set和list的相关内容和效率比较;   Collection:一个独立元素的序列,这些元素按照一条或者多条规则。list必须按照插入的顺序保存元素,而set不能有重复元素。queue按照排队规格来确定对象产生的顺序(通常和他被插入的顺序相同,先进先出) 集合中概括了序列的概念---用于存放一组对象的方式。所以说集合中的元素必须为对象类型(即继…

2021年1月15日 0条评论 44点热度 阅读全文

Map的遍历 private void mapForeach() { Map<String, String> map = new HashMap<>(); map.put("1", "111"); map.put("2", "222"); map.put("3", "333"); // 方法一 // 通过Map.entrySet // 遍历key和value for (Map.Entry<String, String> entry : map.entrySet()) { Stri…

2021年1月15日 0条评论 46点热度 阅读全文

遇到输出形式是set,但要求set里面的元素按顺序排列? 概念 集合(set)是一个无序的不重复元素序列,可以使用大括号 { } 或者 set() 函数创建集合。 问题1 我尝试了一下在jupyter 里先将list排序再转换为set,如果元素有异号数字的,只要是print结果,set的顺序都会改变。 但奇怪的是,如果只是利用python自己的特性输出,不用print,set的输出又是按顺序的。 解决方法 既然不能直接输出,那就改个方法print出来。 l = [-3, -4, -1, 0, 2, 3] print…

2019年4月1日 0条评论 3点热度 阅读全文

遇到输出形式是set,但要求set里面的元素按顺序排列? 概念 集合(set)是一个无序的不重复元素序列,可以使用大括号 { } 或者 set() 函数创建集合。 问题1 我尝试了一下在jupyter 里先将list排序再转换为set,如果元素有异号数字的,只要是print结果,set的顺序都会改变。 但奇怪的是,如果只是利用python自己的特性输出,不用print,set的输出又是按顺序的。 解决方法 既然不能直接输出,那就改个方法print出来。 l = [-3, -4, -1, 0, 2, 3] print…

2019年4月1日 0条评论 1点热度 阅读全文

最近在准备秋招面试,集合知识的储备在面试过程中必不可少,虽然现在已经到了jdk11,但是好多公司暂时还是jdk.1.8,并且jdk.1.8的新特性,在HashMap这里是一个大突破 jdk1.8中红黑树的加入 jdk1.7变为链表的头插法以及jdk1.8的尾插法区别 concurrentHashMap的出现 所以由HashMap进入,可以问关于线程高并发的安全问题引入到并发锁的对比,或者可以由数组,链表到达红黑树引入数据结构的问题。可见HashMap的基础 直接决定了会不会有下面问题的扩展,掌握这个势在必得。 很多…

2018年8月24日 0条评论 1点热度 阅读全文

package cn.jdbc.test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; /**  * Map 集合的循环遍历  * @data 2018.1.21  *  */ public class TestMap {          public static…

2018年1月21日 0条评论 0点热度 阅读全文

概要 本章是JUC系列的ConcurrentHashMap篇。内容包括: ConcurrentHashMap介绍 ConcurrentHashMap原理和数据结构 ConcurrentHashMap函数列表 ConcurrentHashMap源码分析(JDK1.7.0_40版本) ConcurrentHashMap示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498537.html   ConcurrentHashMap介绍 ConcurrentHas…

2017年8月28日 0条评论 10点热度 阅读全文