当前位置:   article > 正文

java面试博客汇总_java面试博客网站

java面试博客网站

1、java基础:

Java基础知识点总结归纳,超级全面!(2021版)_Java程序员-张凯的博客-CSDN博客_java基础

2、Java集合

ArrayList:底层是数组
LinkedList:底层是双向链表
Vector:底层是数组,线程安全的,效率低,使用较少
HashSet:底层是HashMap,放到HashSet集合中的元素等同于放到HashMap集合key部分了
TreeSet:底层是TreeMap,放到TreeSet集合中的元素等同于放到TreeMap集合key部分了
HashMap:底层是哈希表。
Hashtable:底层是哈希表,线程安全的,效率低,使用较少
Properties:线程安全的,并且key和value只能存储字符串String
TreeMap:底层是二叉树。TreeMap集合的key可以自动按照大小顺序排序

Map的扩容机制_一只奈良森屿的博客-CSDN博客_map的扩容机制

java中的集合_HelloLV111的博客-CSDN博客_java集合

JAVA——集合_BerglingYY的博客-CSDN博客_java集合

Java集合、泛型和枚举 (biancheng.net)

ConcurrentModificationException异常原因和解决方法_碌碌无为_心不在烟的博客-CSDN博客_concurrentmodificationexception

红黑树详解_晓之木初的博客-CSDN博客_红黑树

注意:HashMap链表转红黑树,插入一千万个元素都没有触发红黑叔?

答案:根据泊松分布统计,通常情况下 哈希冲突 链表长度达到8的可能性只有亿分之六,红黑树只是在极端情况下出现的。要想体验,可以重写  hashcode返回0或固定值。萌新问一个HashMap链表转红黑树的问题【java吧】_百度贴吧 (baidu.com)

3、树

红黑树规则

  1. 节点不是黑色,就是红色(非黑即红)
  2. 根节点为黑色
  3. 叶节点为黑色(叶节点是指末梢的空节点 NilNull
  4. 一个节点为红色,则其两个子节点必须是黑色的(根到叶子的所有路径,不可能存在两个连续的红色节点)
  5. 每个节点到叶子节点的所有路径,都包含相同数目的黑色节点(相同的黑色高度)

红黑树详解:红黑树详解_晓之木初的博客-CSDN博客_红黑树

4、排序算法

冒泡:简单的说, 就是设置一个标准值, 将于这个值的放到右边(不管排序), 将于这个值的放到左边(不管排序), 那么这样只是区分了左小右大, 没有排序, 没关系, 左右两边再重复这个步骤.直到不能分了为止

插入:将待插元素,依次与已排序好的子数列元素从后到前进行比较,如果当前元素值比待插元素值大,则将移位到与其相邻的后一个位置,否则直接将待插元素插入当前元素相邻的后一位置,因为说明已经找到插入点的最终位置

快排:简单的说, 就是设置一个标准值, 将于这个值的放到右边(不管排序), 将于这个值的放到左边(不管排序), 那么这样只是区分了左小右大, 没有排序, 没关系, 左右两边再重复这个步骤.直到不能分了为止

堆排:顾名思义, 就是将数据以堆的结构, 或者说类似于二叉树的结构, 每次都整理二叉树将最大值找到, 然后放到数组末尾. 个人感觉有点像选择排序.都是每次遍历选择一个最大值或最小值

选择:简单的说, 就是设置一个标准值, 将于这个值的放到右边(不管排序), 将于这个值的放到左边(不管排序), 那么这样只是区分了左小右大, 没有排序, 没关系, 左右两边再重复这个步骤.直到不能分了为止

平均最好最差稳定性
冒泡n2nn2稳定
插入n2nn2稳定
快排nlog2Nnlog2Nn2不稳定
堆排nlog2Nnlog2Nnlog2N不稳定
选择n2n2n2不稳定
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/571693
推荐阅读
相关标签
  

闽ICP备14008679号