- 博客(20)
- 收藏
- 关注
原创 Java---斐波那契那数列
初始项:F(0)=0F(1)=1递推公式:当 n≥2 时,F(n)=F(n−1)+F(n−2)前 10 项数列斐波那契数列问题是算法入门的 “试金石”,其解法涵盖了递归、迭代、动态规划、数学优化等核心思想。通过对比不同解法的时间与空间复杂度,可深入理解算法优化的本质。在实际应用中,需根据数据规模和场景选择合适的实现方式,同时注意数据类型溢出和性能瓶颈问题。
2025-05-21 22:40:16
454
原创 Java HashMap 集合的底层原理知识点详解
创建新的数组,并将旧数组中的元素重新分配到新数组中:遍历旧数组,对于每个链表或红黑树,根据元素的哈希值和新数组的容量重新计算索引位置,并将元素插入到新数组中。其中,n为数组的长度,hash为键的哈希值。该公式利用了位与(&)运算,当n为 2 的幂次方时,n - 1的二进制形式是全 1,通过位与运算能将哈希值映射到0到n - 1的范围内,从而确定元素在数组中的存储位置。计算元素在数组中的索引位置:根据哈希值计算索引i,如果该位置的数组元素为 null,则直接创建新的节点并插入。二、哈希算法与元素定位。
2025-05-20 17:05:23
1139
原创 java collection集合特点知识点详解
在 Java 中,Collection是所有集合类的根接口,它定义了一组对象的基本操作。Java 集合框架提供了丰富的实现类(如ListSetQueue。
2025-05-19 23:33:14
874
原创 Java Lambda 表达式与函数式接口知识点详解
Lambda 表达式是 Java 8 引入的新特性,是一种简洁的匿名函数书写方式,用于简化函数式接口的实现。作用:避免编写冗余的匿名内部类代码,提高代码简洁性和可读性,尤其适用于集合遍历、排序、线程任务等场景。指仅包含一个抽象方法的接口(允许包含默认方法、静态方法和Object的公共方法)。必须使用注解(非强制,但建议添加,用于编译器校验)。是 Lambda 表达式的简化形式,用于引用已有的方法来替代 Lambda 体中的逻辑。类名::方法名或对象::方法名。Lambda 表达式。
2025-05-18 00:48:30
935
1
原创 Java List 接口知识点详解
继承关系List是 Java 集合框架(Collection Framework)中的一个有序队列接口,直接继承自Collection接口。核心特性有序性:元素按插入顺序存储,可通过索引(Index)访问元素。可重复性:允许存储重复元素。动态扩容:底层实现类(如ArrayListLinkedList)支持动态调整容量。特性List 接口特点核心优势有序性、可重复性、索引访问,适用于需要按顺序操作的数据场景。实现类选择ArrayListLinkedList常用操作。
2025-05-17 20:03:59
1519
原创 Java 队列(Queue)知识点详解
队列是一种线性数据结构,元素按 ** 入队(enqueue)** 顺序排列,先进入的元素优先出队(dequeue类比现实中的排队场景(如银行柜台前的队列)。// 入队,失败时抛出异常// 入队,失败时返回falseE remove();// 出队,队列为空时抛出异常E poll();// 出队,队列为空时返回null// 获取队首,队列为空时抛出异常E peek();// 获取队首,队列为空时返回null队列类型实现类线程安全特点与适用场景普通队列LinkedList否。
2025-05-16 16:24:23
1028
原创 Java基础循环方式知识点详解
在 Java 编程中,循环结构是实现重复执行代码块的重要手段。合理使用循环结构可以提高代码的效率和可读性。本文将详细介绍 Java 中常见的循环方式,包括以及,并通过示例说明其用法和注意事项。
2025-05-16 01:33:40
595
原创 Java二维数组知识点详解
二维数组是 Java 中处理表格、矩阵等结构化数据的重要工具,掌握其声明、初始化、访问和遍历是 Java 编程的基础技能。Java 中的二维数组是一种特殊的数据结构,本质上是数组的数组。本文将详细介绍 Java 二维数组的概念、创建、初始化、访问、遍历及常见操作。二维数组是一个包含多个一维数组的数组,其结构类似于表格,有行和列的概念。:对于大规模数据,多维数组可能导致较高的内存开销,可考虑使用一维数组模拟二维结构。Java 支持创建更高维度的数组(如三维、四维等),但语法更复杂,使用场景较少。
2025-05-15 12:00:00
698
1
原创 Java一维数组知识点详解
一维数组是 Java 中最基础的数据结构之一,适合存储和操作固定大小的同类型数据。数组与方法结合使用时,可以实现数据的传递和返回。在 Java 中,数组是一种重要的数据结构,用于存储固定大小的同类型元素。一维数组是最基本的数组形式,本文将详细介绍 Java 一维数组的概念、创建、初始化、访问、遍历及常见操作。一维数组是一组具有相同数据类型的元素的有序集合,每个元素通过唯一的索引访问。数组的长度在创建时确定,且不可更改。数组的初始化可以在声明时完成,也可以后续赋值。属性,返回数组的元素个数。
2025-05-14 22:54:07
313
原创 Java数组知识点详解
Java 数组是一种基础且重要的数据结构,适合存储固定大小的同类型数据。通过掌握数组的声明、初始化、遍历和常用操作,可以高效处理批量数据。对于动态场景,建议使用集合框架(如ArrayListLinkedList)替代数组。
2025-05-14 13:00:15
772
原创 Java循环链表知识点详解
循环链表是一种特殊的链表结构,它与普通链表的区别在于,循环链表的最后一个节点的指针不是指向null,而是指向链表的头节点,从而形成一个环形结构。在 Java 中,通常可以通过定义一个节点类来实现循环链表。int val;
2025-05-13 14:19:22
1237
原创 Java双向链表知识点详解
双链表是一种灵活的数据结构,支持双向遍历和高效的插入删除操作。在 Java 中,可以通过自定义节点类和链表类来实现双链表,也可以使用 Java 集合框架中的LinkedList类。双链表适用于需要双向遍历的场景,但需要注意其内存开销较大的缺点。
2025-05-13 01:08:28
619
原创 java单向链表知识点详解
单向链表是一种常见的数据结构,由一系列节点组成。每个节点包含两部分:数据部分(用于存储实际的数据)和引用部分(用于指向下一个节点)。链表的最后一个节点的引用部分通常为null,表示链表的结束。int val;// 存储节点的值// 指向下一个节点的引用// 构造函数。
2025-05-12 23:26:07
454
原创 Java 链表知识点详解
链表(Linked List)是一种常见的线性数据结构,它由一系列节点(Node)组成,每个节点包含数据域和一个指向下一个节点的引用(指针)。与数组相比,链表的优势在于插入和删除操作效率高(时间复杂度 O (1)),但随机访问效率低(需从头遍历,时间复杂度 O (n))。掌握链表的基本原理和常见操作,对于理解数据结构和解决算法问题至关重要。通过不断练习和深入思考,你将能够灵活运用链表解决各种实际问题。类,它实现了双向链表结构,并实现了。Java 集合框架中提供了。
2025-05-11 19:49:00
760
原创 今日学习----LinkedList 的底层数据结构
优点插入和删除操作效率高(O (1)),尤其是在头尾位置动态扩容,不需要预先分配容量适合频繁插入和删除的场景缺点随机访问效率低(O (n))每个节点需要额外的前驱和后继引用,空间开销较大遍历效率低于 ArrayList(缓存局部性差)适用场景需要频繁在集合中间进行插入和删除操作不需要频繁随机访问元素作为栈或队列使用时效率较高。
2025-05-11 00:38:11
735
原创 ArrayList集合的底层原理
ArrayList通过动态数组和扩容机制实现了可变长度的列表,适合随机访问场景。理解其底层原理有助于合理使用该类,并在性能敏感的场景下做出优化选择。
2025-05-10 00:14:55
1109
原创 java--随机排名
循环遍历打乱后的列表,按顺序输出每个元素及其排名。,它是动态数组,能够方便地添加、删除和访问元素)。:把待排名的元素存于合适的数据结构中(选用。方法,此方法能够随机打乱列表中元素的顺序。
2025-05-08 01:16:32
249
原创 java--数组反转的实现
问题:某个数组有5个数据:10,20,30,40,50请将这个数组中的数据进行反转(冒泡排序)注意:代码不完整,但核心代码在其余部分需要自行补充。
2025-05-06 22:24:13
107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人