
JAVA相关基础知识
文章平均质量分 64
Anpunph.
这个作者很懒,什么都没留下…
展开
-
Comparable 和 Comparator异同
外部定义多种排序规则。原创 2025-03-27 11:12:47 · 623 阅读 · 0 评论 -
Java成员内部类与静态内部类
不依赖外部类的实例,不需要存储外部类对象的地址,所以。需要依赖外部类的实例,因此。🌟 成员内部类(可以使用。原创 2025-03-15 21:51:58 · 113 阅读 · 0 评论 -
Java数组基础类型的默认值
【代码】Java数组基础类型的默认值。原创 2025-03-08 15:08:10 · 93 阅读 · 0 评论 -
实例方法和静态方法的区别
static类名.方法名()方法名()static对象名.方法名()🚀static。原创 2025-03-07 16:59:32 · 309 阅读 · 0 评论 -
Priority Queue优先队列详解
优先队列(Priority Queue)是一种抽象数据类型,它类似于普通队列,遵循先进先出(FIFO)原则,但在此基础上,每个元素都关联着一个优先级。元素按照优先级顺序被处理,优先级高的元素会优先于优先级低的元素出队,而并非严格按照元素入队的先后顺序。简单来说,它是一种能保证每次取出的元素都是当前队列中优先级最高的元素的数据结构。原创 2024-12-15 10:58:37 · 1809 阅读 · 0 评论 -
map.computeIfAbsent() 与 map.putIfAbsent()的异同
适用于已知要插入的具体值的情况。:适用于需要在键不存在时动态计算值的情况,可以避免不必要的计算。原创 2024-11-07 19:56:56 · 568 阅读 · 0 评论 -
compareTo()方法详解
方法是 Java 中用于比较两个对象的方法,通常用于实现自然排序(natural ordering)。这个方法定义在Comparable接口中,因此任何希望使用方法的类都必须实现这个接口。以下是。原创 2024-10-17 16:36:57 · 3745 阅读 · 0 评论 -
Comparator详解
Comparator是Java中的一个接口,它位于java.util包中,主要用于定义对象的比较规则。原创 2024-10-15 20:48:05 · 1138 阅读 · 0 评论 -
实现对二维数组的排序
在Java中,对二维数组进行排序通常意味着你想根据某种规则(比如每个子数组的第一个元素、第二个元素等)来对整个数组进行排序。这表明二维数组已经根据每个子数组的第一个元素进行了升序排序。如果你想根据其他规则(比如第二个元素)进行排序,只需在。方法,该方法比较了两个子数组的第一个元素,并返回了比较结果。来根据每个子数组的第一个元素进行排序。在这个例子中,我们定义了一个二维数组。方法中相应地修改比较逻辑即可。由于Java的数组类型。原创 2024-10-15 20:39:26 · 344 阅读 · 0 评论 -
JAVA Collections类主要应用API
类是 Java 集合框架(Java Collections Framework)的一部分,它位于java.util包中。这个类提供了对集合(Collection)操作或返回集合的视图的各种静态方法,但不能实例化类(因为它所有的方法都是静态的)。这些静态方法主要用于操作或查询集合,而不是提供新的集合实现。下面是一些。原创 2024-09-02 11:47:36 · 774 阅读 · 0 评论 -
JAVA Lambda 表达式相关语法
Java中的Lambda表达式是Java 8引入的一个重要特性,它提供了一种清晰且简洁的方式来表示只有一个抽象方法的接口(称为函数式接口)的实例。Lambda表达式本质上是一个匿名方法,它可以让你的代码更加简洁易读。原创 2024-09-02 11:18:45 · 789 阅读 · 0 评论 -
JAVA var类型详解
在Java中,var关键字并不是传统意义上的一个新类型,而是一个类型推断的增强,它首次在Java 10中被引入作为预览特性(通过JVM 参数启用),并在Java 11中被正式作为预览特性的一部分,最终在Java 14中成为正式功能。var的使用使得局部变量声明更加简洁,但重要的是要理解其背后的类型推断机制以及它的使用限制。原创 2024-08-27 14:56:12 · 523 阅读 · 0 评论 -
JAVA双端队列Deque详解
Java中的双端队列(Deque, 全称是double-ended queue)是一种具有队列和栈的性质的抽象数据类型。双端队列中的元素可以从两端弹出(在队列的头部和尾部进行添加或删除操作),因此它既可以作为FIFO(先进先出)的队列使用,也可以作为LIFO(后进先出)的栈使用。Java在java.util包中提供了Deque接口,以及它的几个实现类,如ArrayDeque(基于数组的双端队列)、LinkedList(虽然通常用作链表,但它也实现了Deque接口,因此可以作为双端队列使用)。原创 2024-08-23 22:06:49 · 1208 阅读 · 0 评论 -
JAVA红黑树TreeMap/TreeSet详解
Java中的红黑树是一种自平衡的二叉查找树,它通过特定的旋转和重新着色操作来确保树的高度大致保持在对数级别,从而在平均和最坏情况下都能保证查找、插入、删除等操作的时间复杂度为O(log n)。原创 2024-08-23 21:30:09 · 1345 阅读 · 0 评论 -
计数排序算法
计数排序(Counting Sort)是一种非比较型整数排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。原创 2024-08-21 15:19:46 · 725 阅读 · 0 评论 -
JAVA 8 mapToInt()方法
mapToInt。原创 2024-08-20 18:42:09 · 1201 阅读 · 0 评论 -
Java 9 List.of()的使用
List.of()是 Java 9 引入的一个静态方法,用于创建不可变的列表(这意味着一旦使用List.of()创建了列表,你就不能向其中添加、删除或修改元素。这个方法提供了一种方便的方式来创建包含零个或多个元素的不可变列表。List.of()方法有几个重载版本,允许你传递零个到十个元素作为参数。如果你需要创建包含超过十个元素的列表,你可以使用List.of()方法来组合较小的列表,或者使用其他集合构造方法(如后跟,尽管这不是一个纯粹的不可变列表,因为它仍然可以通过原始数组进行修改)。原创 2024-08-18 21:55:18 · 2888 阅读 · 0 评论 -
Java this关键字详解
this。原创 2024-08-17 17:01:12 · 681 阅读 · 0 评论 -
二分查找算法详解
二分查找算法(Binary Search Algorithm)是一种在中查找特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到元素。二分查找算法的,其中n是数组中的元素数量。这意味着随着数组大小的增加,查找所需的时间以对数速度增长,相对于简单的线性查找(时间复杂度为O(n))来说,效率要高得多。原创 2024-08-16 18:44:30 · 406 阅读 · 0 评论 -
二叉树遍历
二叉树的遍历是二叉树操作中的一个基本且重要的概念,它指的是按照一定的规则访问二叉树中的每个节点,并且每个节点仅被访问一次。常见的二叉树遍历方式有四种:前序遍历(Pre-order Traversal)、中序遍历(In-order Traversal)、后序遍历(Post-order Traversal)和层序遍历(Level-order Traversal)。原创 2024-08-15 18:58:05 · 1973 阅读 · 0 评论 -
JAVA ArrayList详解
ArrayList是 Java 中的一个动态数组实现,它属于 Java 集合框架(Java Collections Framework)的一部分。ArrayList内部是通过一个动态扩展的数组来存储元素的,这意味着当需要添加更多元素而当前数组容量不足时,ArrayList会自动创建一个更大的数组,并将原有数组的元素复制到新数组中,然后再添加新元素。原创 2024-08-14 15:08:46 · 399 阅读 · 0 评论 -
如何拿到链表的第一个节点
如果你在使用自定义的链表,那么获取第一个节点的方式将取决于你的链表实现。通常情况下,自定义链表会有一个指向链表第一个节点的头指针(head)。通过直接访问这个头指针,你可以获取到链表的第一个节点。int val;val = x;// 链表的头指针// 构造函数等...// 获取链表的第一个节点// 其他方法...// 使用// 假设我们向list中添加了一些节点...// 获取并处理第一个节点= null) {// 对firstNode进行操作在这个例子中,原创 2024-08-13 18:32:25 · 557 阅读 · 0 评论 -
位运算在算法中的部分应用
【代码】位运算在算法中的部分应用。原创 2024-08-10 18:23:49 · 510 阅读 · 0 评论 -
线性表——双链表
在双链表中,每个节点(Node)除了包含存储的数据外,还包含两个引用(或指针):一个指向前一个节点的prev,另一个指向后一个节点的next。这样的设计使得从任一节点都可以向前或向后遍历链表。T data;// 存储的数据// 指向前一个节点的指针// 指向后一个节点的指针// 构造函数双链表是一种由节点组成的链表,其中每个节点都包含三个部分:数据域、指向前一个节点的指针和指向后一个节点的指针。双链表可以从两端开始遍历,支持在链表的两端快速地进行插入和删除操作。int val;原创 2024-08-10 17:57:54 · 824 阅读 · 0 评论 -
线性表——单链表
在Java中,单链表中的每个节点通常通过一个内部类来定义,这个内部类包含两个成员:一个是存储的数据(可以是任意类型),另一个是指向下一个节点的引用。T data;// 节点存储的数据// 指向下一个节点的引用// 构造函数// 默认下一个节点为空单链表本身可以看作是一个指向链表第一个节点的引用(或称为头节点),以及可能包含的一些方法,如添加、删除、查找节点等。// 指向链表第一个节点的引用// 构造函数// 初始时链表为空// 添加元素到链表末尾的方法} else {原创 2024-08-09 14:21:03 · 408 阅读 · 0 评论 -
StringBuffer类和StringBuilder类详解
定义:StringBuffer是一个字符串缓冲区,可以动态地存储和修改字符串内容。特性可变性:StringBuffer对象的内容可以被修改,而String对象的内容一旦创建就不可改变。线程安全性:StringBuffer是线程安全的,这意味着在多线程环境下,多个线程可以同时读取或写入同一个StringBuffer对象,而无需进行外部同步。然而,这也使得StringBuffer的性能相对于线程不安全的StringBuilder来说较低。定义。原创 2024-08-08 18:00:29 · 1348 阅读 · 0 评论 -
Integer.parseInt()的用法
是 Java 中的一个静态方法,用于将字符串参数作为有符号的整数进行解析。这个方法可以解析十进制、十六进制、八进制等进制的字符串表示形式,具体取决于第二个参数radix的值。原创 2024-08-08 17:21:23 · 2745 阅读 · 0 评论 -
JAVA 集合的遍历方式
在Java中,遍历集合(如List、Set、Map等)是一个常见的操作。根据集合类型的不同,遍历的方式也会有所不同。原创 2024-08-08 12:32:43 · 673 阅读 · 0 评论 -
JAVA中栈(Stack)和队列的(Queue)应用
类继承自Vector类,因此它是一个同步的数据结构。下面是一些常用的Stack。原创 2024-08-07 13:08:41 · 419 阅读 · 0 评论 -
JAVA Stream相关的API及其示例
Java 8 引入的流 API () 提供了一系列方法来处理集合中的数据。流 API 使得处理数据更加简洁、高效并且易于理解。原创 2024-08-07 17:32:22 · 490 阅读 · 0 评论