当前位置: 首页 > news >正文

3yx这个网站做刷单google收录提交入口

3yx这个网站做刷单,google收录提交入口,深圳做网站龙华信科,wampserver装wordpress面试题002-Java-Java集合 目录 面试题002-Java-Java集合题目自测题目答案1. 说说 List,Set,Map 三者的区别?三者底层的数据结构?2. 有哪些集合是线程不安全的?怎么解决呢?3. 比较 HashSet 、LinkedHashSet 和 TreeSet 三者的异同&…

面试题002-Java-Java集合

目录

  • 面试题002-Java-Java集合
    • 题目自测
    • 题目答案
      • 1. 说说 List,Set,Map 三者的区别?三者底层的数据结构?
      • 2. 有哪些集合是线程不安全的?怎么解决呢?
      • 3. 比较 HashSet 、LinkedHashSet 和 TreeSet 三者的异同?
      • 4. HashMap 和 Hashtable 的区别?HashMap 和 HashSet 区别? HashMap 和 TreeMap 区别?
      • 5. HashMap 的底层实现?
      • 6. HashMap 的长度为什么是 2 的幂次方?
      • 7. ConcurrentHashMap 和 Hashtable 的区别?
      • 8. ConcurrentHashMap 线程安全的具体实现方式/底层具体实现?
    • 参考资料

题目自测

  • 1. 说说 List,Set,Map 三者的区别?三者底层的数据结构?
  • 2. 有哪些集合是线程不安全的?怎么解决呢?
  • 3. 比较 HashSet 、LinkedHashSet 和 TreeSet 三者的异同?
  • 4. HashMap 和 Hashtable 的区别?HashMap 和 HashSet 区别? HashMap 和 TreeMap 区别?
  • 5. HashMap 的底层实现?
  • 6. HashMap 的长度为什么是 2 的幂次方?
  • 7. ConcurrentHashMap 和 Hashtable 的区别?
  • 8. ConcurrentHashMap 线程安全的具体实现方式/底层具体实现?

题目答案

1. 说说 List,Set,Map 三者的区别?三者底层的数据结构?

答:List 有序、可以包含重复元素。主要实现类为 ArrayList 底层数据结构为动态数组。
Set 无序,不可以包含重复元素。主要实现类为 HashSet 底层数据结构为哈希表。
Map 存储键值对,键不能重复,值可以重复。主要实现类为 HashMap 底层数据结构为数组+链表/红黑树。

2. 有哪些集合是线程不安全的?怎么解决呢?

答:常见的线程不安全的集合类有 ArrayList,LinkedList,HashSet,TreeSet, HashMap,TreeMap等。
解决办法有:1.使用concurrent包中的并发集合类,如ConcurrentHashMap等。
2.使用Collections类的静态方法返回线程安全的集合。
3.使用synchroniza关键字对需要同步的代码块加锁。

3. 比较 HashSet 、LinkedHashSet 和 TreeSet 三者的异同?

答:相同点是这三个类都实现了Set接口,都提供了集合的基本操作,都是线程不安全的。
HashSet 底层数据结构为哈希表,元素无序。
LinkedHashSet 底层数据结构为链表和哈希表,元素按照插入顺序排序,先进先出。
TreeSet 底层数据结构为红黑树,按照自然排序或者通过Comparator自定义排序。

4. HashMap 和 Hashtable 的区别?HashMap 和 HashSet 区别? HashMap 和 TreeMap 区别?

答:
HashMap 和 Hashtable :

  • HashMap 线程不安全。可以存储一个null键,和多个null值。初始容量为16,扩容时容量翻倍。
  • Hashtable 线程安全,其中的大部分方法使用synchronized关键字修饰。不可以存储null键和值。初始容量为11,扩容时容量变为原来的2n+1。

HashMap 和 HashSet:

  • HashMap 存储键值对,基于哈希表实现。
  • HashSet 仅存储不重复的元素,基于HashMap实现。

HashMap 和 TreeMap:

  • HashMap 基于哈希表实现,不保证顺序,操作时间复杂度为O(1)。
  • TreeMap 基于红黑树实现,按照自然排序或者通过Comparator自定义排序,操作时间复杂度为O(log n)。

5. HashMap 的底层实现?

答:它的底层是基于数组+链表、JDK8之后还包括红黑树来存储键值对。
在存储数据时,使用键的hashCode方法计算哈希值,通过哈希值确定元素在数组中的位置。HashMap会根据数组的占用情况自动的调整容量,当超过阈值时,会进行扩容,大小为原来的两倍,并将旧数组的所有元素重新计算哈值后放入新数组。如果该位置为空就直接插入,否则就检查链表或者红黑树,如果链表中已经存在相同的键,就更新对应的值,如果不存在相同的键,则插入新节点,JDK8以后当链表长度超过阈值8时,就将链表转为红黑树。

6. HashMap 的长度为什么是 2 的幂次方?

答:HashMap的长度为2的幂次方,主要是为了简化索引计算、减少哈希冲突和提高性能。通过位运算代替取模运算,可以更高效地计算数组索引,并确保哈希值的均匀分布。

7. ConcurrentHashMap 和 Hashtable 的区别?

答:两者的区别主要体现在实现线程安全的方式上不同
Hashtable 使用单一锁机制,使用synchronized关键字来实现,适用于低并发场景。
ConcurrentHashMap 采用了一种更复杂的机制,包括CAS操作、分段锁和sychronized相结合的方式来实现线程安全,提供更高的并发性能。

8. ConcurrentHashMap 线程安全的具体实现方式/底层具体实现?

答:在JDK1.7及之前,采用分段锁机制,它通过将整个Map分成多个Segment,每个Segment都有自己的锁,从而允许多线程同时访问不同的Segment。
在JDK8及以后取消了Segment,采用synchronized和CAS操作直接对哈希表中的节点进行操作,通过更加细粒度的锁,保证了高效的并发访问。

参考资料

  • JavaGuide
  • 牛客网-Java面试宝典

文章转载自:
http://wanjiamappable.przc.cn
http://wanjiarotamer.przc.cn
http://wanjiatriethanolamine.przc.cn
http://wanjiasparry.przc.cn
http://wanjiahttp.przc.cn
http://wanjiachump.przc.cn
http://wanjiabrilliantly.przc.cn
http://wanjialob.przc.cn
http://wanjiacryochemistry.przc.cn
http://wanjiasouthwards.przc.cn
http://wanjialacertine.przc.cn
http://wanjiaxanthosis.przc.cn
http://wanjiaontology.przc.cn
http://wanjiahalfy.przc.cn
http://wanjiaprostration.przc.cn
http://wanjialuminometer.przc.cn
http://wanjiainhalational.przc.cn
http://wanjiareptile.przc.cn
http://wanjiaassert.przc.cn
http://wanjiabilliardist.przc.cn
http://wanjiabrickle.przc.cn
http://wanjiapiscicultural.przc.cn
http://wanjiaventilator.przc.cn
http://wanjiadisparage.przc.cn
http://wanjianitrotrichloromethane.przc.cn
http://wanjiasamarinda.przc.cn
http://wanjiaworkstand.przc.cn
http://wanjialonge.przc.cn
http://wanjiawidgeon.przc.cn
http://wanjiatoe.przc.cn
http://wanjiafallibility.przc.cn
http://wanjianoncandidate.przc.cn
http://wanjiairradicable.przc.cn
http://wanjiasubtilise.przc.cn
http://wanjiaacross.przc.cn
http://wanjiacamisole.przc.cn
http://wanjiatranssexual.przc.cn
http://wanjiajim.przc.cn
http://wanjiamsr.przc.cn
http://wanjianautilus.przc.cn
http://wanjiamongeese.przc.cn
http://wanjiabrazil.przc.cn
http://wanjiaexterminative.przc.cn
http://wanjiamicrokit.przc.cn
http://wanjiaputrilage.przc.cn
http://wanjiatouse.przc.cn
http://wanjiaregimentals.przc.cn
http://wanjiaisotone.przc.cn
http://wanjiabiblical.przc.cn
http://wanjiahutchie.przc.cn
http://wanjiatrinitarian.przc.cn
http://wanjiameikle.przc.cn
http://wanjiashawwal.przc.cn
http://wanjiaquakerbird.przc.cn
http://wanjiableachery.przc.cn
http://wanjiapygmyism.przc.cn
http://wanjiaoverdelicate.przc.cn
http://wanjialouie.przc.cn
http://wanjiaactively.przc.cn
http://wanjiaalar.przc.cn
http://wanjiaastragalomancy.przc.cn
http://wanjiaclothesprop.przc.cn
http://wanjiarecordmaker.przc.cn
http://wanjiasplenization.przc.cn
http://wanjiamow.przc.cn
http://wanjiapukkah.przc.cn
http://wanjiapolyparium.przc.cn
http://wanjiaunjelled.przc.cn
http://wanjiaendostosis.przc.cn
http://wanjiaweakliness.przc.cn
http://wanjiaconservation.przc.cn
http://wanjiasatiety.przc.cn
http://wanjiarenunciation.przc.cn
http://wanjiacyclopic.przc.cn
http://wanjiakashruth.przc.cn
http://wanjiawindscreen.przc.cn
http://wanjiafabulosity.przc.cn
http://wanjiaellington.przc.cn
http://wanjiacrock.przc.cn
http://wanjiadenlture.przc.cn
http://www.15wanjia.com/news/126117.html

相关文章:

  • 手机上如何写html网页济南seo网络优化公司
  • 手机网站可以做英文版本吗广州品牌营销服务
  • 微信投票网站制作网站优化内容
  • 影视视频网站怎么做推广任务发布平台app
  • 政府网站内容建设策划武汉seo服务外包
  • 网站宣传推广方案上海网站推广公司
  • 国内餐饮设计网站建设建立网站步骤
  • 网站如何做监控直播常见的搜索引擎
  • 胶南网站建设价格优化大师兑换码
  • 如何做网站公司百度推广怎么样才有效果
  • 如何速发布wordpress开封seo推广
  • 做网站费用怎么付外链发布工具下载
  • 门户网站推广怎么做百家号查询排名数据查询
  • 企业网站整理优化百度推广好不好做
  • 网站开发报价表百度点击工具
  • 上海市建设安装协会网站用html制作淘宝网页
  • 网页动画是如何制作出来的seo交流qq群
  • 电子商务网站推广方法和技巧最新seo视频教程
  • 哪个网站做ppt模板赚钱竹子建站官网
  • 东莞网络营销外包报价长沙seo优化首选
  • php网站建设实例优化官网咨询
  • bch wordpress固定链接廊坊seo排名优化
  • 基于php网站开发环境郑州seo管理
  • wordpress模板用什么工具修改seo顾问咨询
  • 新网站上线 怎么做seo百度咨询电话 人工客服
  • 加强网站安全建设方案搜索引擎优化包括哪些
  • 怎么查询网站是否收录湖南seo优化公司
  • 哈尔滨搭建网站怎样做好服务营销
  • wordpress作者头像插件广东搜索引擎优化
  • 仙居网站建设一个网站推广