- 博客(8)
- 收藏
- 关注
原创 Java数据结构之队列详解
前言介绍队列的定义,队列的构造与方法实现,循环队列以及双端队列的分别手撕实现;队列定义:队列是一种比较特殊的线性结构。它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中最先插入的元素也将最先被删除,对应的最后插入的元素将最后被删除。因此队列又称为“先进先出”(FIFO—first in first out)的线性表,与栈(FILO-first in last out)刚好...
2022-01-17 18:24:43
1205
原创 Java数据结构之栈详解
栈的定义:栈(stack)是一种用于存储数据的简单数据结构。栈一个有序线性表,只能在表的一端(PS:栈顶)执行插人和删除操作。最后插人的元素将被第一个删除。所以,栈也称为后进先出(Last In First Out,LIFO)或先进后出(First In Last Out,FILO)线性表。Java 集合框架中的 Stack 继承自Vector:由于 Vector 有 4 个构造函数,加上 Stack 本身的一种,也就是说有 5 中创建 Stack 的方法 跟 Vector 一样,..
2022-01-14 14:17:36
6244
1
原创 Java之String,StringBuffer和StringBuilder类详解
前言本文针对于String类型相似的StringBuffer和 StringBuilder类的区别及StringBuffer和StringBuilder 类扩容,源码分析其中区别,以及StringBuilder为什么比String快这个问题?String、StringBuffer、StringBuilder三者异同String stringBuffer StringBuilder 不可变 可变 可变 线程安全 线程不安全 ...
2022-01-12 11:14:24
314
原创 Java集合之ArrayList
前言在Java的开发,算法题中,经常使用List,而其中最常用的就是ArrayList,ArrayList的底层实现是一个长度可变的数组,因为其使用数组结构,所以根据索引操作ArrayList的方法会非常快,时间复杂度为0(1),例如:get(int index),set(int index, E element);但是,添加和删除元素相对较慢。 另外,ArrayList不是同步的,也就是在多线程的情况下,如果使用ArrayList可能存在安全问题。如果需要在多线程下使用Array...
2022-01-10 15:54:30
466
原创 Java之ArrayList的扩容机制源码分析
前言Java中,ArrayList是一个使用非常频繁的集合类型,它的底层是Object数组,所以它拥有数组所拥有的特性,比如支持随机访问,所以查询效率高,但内部插入数据,删除数据需要移动大量元素,所以效率相对较LinkedList差一些。调用ArrayList的无参构造方法:transient Object[] elementData;private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};...
2022-01-10 15:26:09
215
1
原创 Java之strictfp关键字
Java中的strictfp关键字:定义:用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范,当对一个类或接口 使用 strictfp 关键字时,该类中的所有代码,包括嵌套类型中的初始设定值和代码,都将严格地进行计算。严格约束意味着所有表达式的结果都必须是 IEEE 754 算法对操作数预期的结果,以单精度和双精度格式表示。如果你想让你的浮点运算更加精确,而且不会因为不同的硬件平台所执行的结果不一致的话,可以用关键字strictfp;未使用.st...
2022-01-10 11:42:06
523
原创 Java之transient关键字
transient关键字介绍;transient关键字在阅读JDK源码中经常出现,其中Java中transient关键字的作用就是让某些被transient关键字修饰的成员变量不被序列化。序列化是什么?专业术语定义的序列化:Java提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对...
2022-01-10 11:25:51
547
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人