首页
学习
活动
专区
工具
TVP
发布

FREE SOLO

专栏作者
498
文章
700068
阅读量
36
订阅数
初识JAVA:HashMap与HashSet的区别
面试中经常被问到HashMap与HashSet的区别。于是本渣静下心来总结了一下HashSet与HashMap的区别。
葆宁
2022-05-06
2580
Hashmap底层源码分析
HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
葆宁
2019-05-06
4290
Java中的集合理解(超全)
Java中的集合分为value,key–value(Conllection Map)两种。 存储值有分为List 和Set. List是有序的,可以重复的。 Set是无序的,不可以重复的。根据equals和hashcode判断,也就是如果一个对象要存储在Set中,必须重写equals和hashCode方法。 存储key-value的为map.
葆宁
2019-04-19
6330
Java笔试题
1、String s = new String(“abs”);创建了几个String Object? 两个对象,一个是“abs”,一个是指向“abs”的引用对象s。 2、JSP有哪些内置对象?作用分
葆宁
2019-04-19
8840
HashMap与HashSet的区别?
面试中经常被问到HashMap与HashSet的区别。于是本渣静下心来总结了一下HashSet与HashMap的区别。
葆宁
2019-04-18
4.7K0
Java集合综合面试题
面试题:现在在一个List集合之中保存了多个String对象,要求将这个List集合变为Set集合,而后再将这个Set集合之中的全部数据保存在Map集合的value里面,而Map集合的key使用UUID生成,最后将Map中的数据进行迭代输出。
葆宁
2019-04-18
7240
2019面试题:请解释ArrayList和Vector的区别?
面试题:请解释ArrayList和Vector的区别? No. 区别 ArrayList Vector 1 推出时间 JDK 1.2 JDK 1.0 2 性能 采用异步处理方式,性能更高 采用同步处理方式,性能相对较低 3 安全性 非线程安全 线程安全 4 输出 Iterator、ListIterator、foreach Iterator、ListIterator、foreach、Enumeration 从实际开发而言,几乎都是开发异步程序,所以首选的肯定是ArrayList子类。
葆宁
2019-04-18
5450
synchronizedMap 和 concurrenthashmap 分别适用于什么场景?
如何线程安全的使用HashMap 了解了 HashMap 为什么线程不安全,那现在看看如何线程安全的使用 HashMap。这个无非就是以下三种方式:
葆宁
2019-04-18
3.1K0
HashTable和HashMap的区别
底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化 初始size为11,扩容:newsize = oldsize*2+1 计算index的方法:index = (hash & 0x7FFFFFFF) % tab.length
葆宁
2019-04-18
7780
HashMap原理浅析
数组 数组存储区间是连续的,直接可以放到L1缓存里面CPU读取占用内存严重,故空间复杂度很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;
葆宁
2019-04-18
5660
Java集合(1)---Java集合工具包框架
Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*
葆宁
2019-04-18
7750
ConcurrentHashMap的锁分段技术
HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法时,其他线程访问HashTable的同步方法时,可能会进入阻塞或轮询状态。如线程1使用put进行添加元素,线程2不但不能使用put方法添加元素,并且也不能使用get方法来获取元素,所以竞争越激烈效率越低。
葆宁
2019-04-18
7730
如何保证集合是线程安全的? ConcurrentHashMap如何实现高效地线程安全?
Java 提供了不同层面的线程安全支持。在传统集合框架内部,除了 Hashtable 等同步容器,还提供了所谓的同步包装器(Synchronized Wrapper),我们可以调用 Collections 工具类提供的包装方法,来获取一个同步的包装容器(如 Collections.synchronizedMap),
葆宁
2019-04-18
1.5K0
解决哈希冲突的常用方法有哪些?
基本思想是:当关键字key的哈希地址p=H(key)出现冲突时,以p为基础,产生另一个哈 希地址p1,如果p1仍然冲突,再以p为基础,产生另一个哈希地址p2,…,直到找出一个不 冲突的哈希地址pi ,将相应元素存入其中。
葆宁
2019-04-18
1.1K0
各类容器(set 、list、map)扩容机制
当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全部复制到新的内存上,这无疑使效率大大降低。
葆宁
2019-04-18
1.8K0
Hashtable、HashMap、TreeMap辨析
Hashtable、HashMap、TreeMap 都是最常见的一些 Map 实现,是以键值对的形式存储和操作数据的容器类型。
葆宁
2019-04-18
3660
2019.4.7---Java面试题
1.String a = “123”; String b = “123”; a==b的结果是什么? 这包含了内存,String存储方式等诸多知识点。 ans: 同样序列的字符串直接量为一个实例,所以其实引用变量a和b其实是指向同一个实例,地址也就相同。引用变量比较的是地址,所以第一个打印出来为true。
葆宁
2019-04-18
7610
没有更多了
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档