avatar
文章
94
标签
89
分类
16

首页
归档
标签
分类
关于
虾壳
搜索
首页
归档
标签
分类
关于

面试题-集合

发表于2024-01-20|更新于2024-01-20|Java面试题
|字数总计:5|阅读时长:1分钟|阅读量:
文章作者: 虾壳
文章链接: http://yagote.github.io/2024/01/20/mian-shi-ti-ji-he/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 虾壳!
Java集合面试题
上一篇
面试题-设计模式
下一篇
MyBatisPlus
相关推荐
2024-01-06
Java-集合
2024-01-21
面试题-MySQL
2024-01-21
面试题-Redis
目录
  1. 1、算法复杂度分析
    1. 1.1 为什么要进行复杂度分析?
    2. 1.2 时间复杂度
      1. 1.2.1 案例
      2. 1.2.2 大O表示法
      3. 1.2.3 常见复杂度表示形式
      4. 1.2.4 时间复杂度O(1)
      5. 1.2.5 时间复杂度O(n)
      6. 1.2.6 时间复杂度O(logn)
      7. 1.2.7 时间复杂度O(nlogn)
    3. 1.3 空间复杂度
  2. 2、List相关面试题
    1. 2.1 数组
      1. 2.1.1 数组概述
      2. 2.1.2 寻址公式
      3. 2.1.3 操作数组的时间复杂度
    2. 2.2 ArrayList源码分析
      1. 2.2.1 成员变量
      2. 2.2.2 构造方法
      3. 2.2.3 ArrayList源码分析
      4. 2.2.4 ArrayList底层的实现原理是什么?
      5. 2.2.5 ArrayList list=new ArrayList(10)中的list扩容几次
      6. 2.2.6 如何实现数组和List之间的转换
    3. 2.3 链表
      1. 2.3.1 单向链表
      2. 2.3.2 单向链表时间复杂度分析
      3. 2.3.3 双向链表
      4. 2.3.4 双向链表时间复杂度分析
      5. 2.3.5 ArrayList和LinkedList的区别是什么?
  3. 3、HashMap相关面试题
    1. 3.1 二叉树
      1. 3.1.1 二叉树概述
      2. 3.1.2 二叉搜索树
      3. 3.1.3 红黑树
    2. 3.2 散列表
      1. 3.2.1 散列表(Hash Table)概述
      2. 3.2.2 散列函数和散列冲突
      3. 3.2.3 冲突解决-链表法(拉链法)
      4. 3.2.4 时间复杂度
    3. 3.3 说一下HashMap的实现原理?
    4. 3.4 HashMap的jdk1.7和jdk1.8有什么区别?
    5. 3.4 HashMap的put方法分析
      1. 3.4.1 HashMap常见属性
      2. 3.4.2 put方法源码分析
    6. 3.5 讲一讲HashMap的扩容机制
    7. 3.6 HashMap的寻址算法
    8. 3.7 Hashmap在1.7情况下的多线程死循环问题
    9. 3.8 HashSet与HashMap的区别
    10. 3.9 HashTable与HashMap的区别
  4. 4、真实面试还原
    1. 4.1 Java常见的集合类
    2. 4.2 List
      1. ArrayList底层是如何实现的?
      2. ArrayList list=new ArrayList(10)中的list扩容几次
      3. 如何实现数组和List之间的转换
      4. 用Arrays.asList转List后,如果修改了数组内容,list受影响吗?List用toArray转数组后,如果修改了List内容,数组受影响吗
      5. ArrayList 和 LinkedList 的区别是什么?
      6. 刚才你说了ArrayList 和 LinkedList 不是线程安全的,你们在项目中是如何解决这个的线程安全问题的?
    3. 4.4 HashMap
      1. 说一下HashMap的实现原理?
      2. HashMap的jdk1.7和jdk1.8有什么区别
      3. 你能说下HashMap的put方法的具体流程吗?
      4. 刚才你多次介绍了hsahmap的扩容,能讲一讲HashMap的扩容机制吗?
      5. 刚才你说的通过hash计算后找到数组的下标,是如何找到的呢,你了解hashMap的寻址算法吗?
      6. 为何HashMap的数组长度一定是2的次幂?
      7. 我看你对hashmap了解的挺深入的,你知道hashmap在1.7情况下的多线程死循环问题吗?
      8. Hashmap是线程安全的吗?
      9. 那我们想要使用线程安全的map该怎么做呢?
      10. 那你能聊一下ConcurrentHashMap的原理吗?
      11. HashSet与HashMap的区别?
      12. HashTable与HashMap的区别
Copyright © 2021 - present 虾壳
搜索
数据库加载中