Java 优先队列 在本教程中,我们将通过示例了解 Java 集合框架的 PriorityQueue 类。 PriorityQueue 类提供堆数据结构的功能。 它实现了Queue接口。 与普通队列不同,优先级队列元素是按排序顺序检索的。 假设我们要按升序检索元素。在这种情况下,优先队列的头部将是最小的元素。一旦检索到这个元素,下一个最小的元素将是队列的头部。 需要注意的是,优先级队列的元素可能没有排序。但是,总是按排序顺序检索元素。 创建优先队列 为了创建优先级队列,我们必须导入 java.util.PriorityQueue 包裹。导入包后,下面是我们如何在 Jav
Java 队列接口 在本教程中,我们将学习 Java Queue 接口及其方法。 Queue Java 集合框架的接口提供了队列数据结构的功能。它扩展了 Collection 界面。 实现队列的类 自Queue 是一个接口,我们不能提供它的直接实现。 为了使用 Queue 的功能 ,我们需要使用实现它的类: ArrayDeque 链表 优先队列 扩展队列的接口 Queue 接口也被各种子接口扩展: Deque BlockingQueue BlockingDeque 队列数据结构的工作 在队列中,元素以先进先出的方式存储和访问 方式。也就是说,元素是从后面
Java 堆栈类 在本教程中,我们将通过示例了解 Java Stack 类及其方法。 Java 集合框架有一个名为 Stack 的类 提供栈数据结构的功能。 Stack 类扩展了 Vector 类。 堆栈实现 在栈中,元素以后进先出的方式存储和访问 方式。即元素被添加到栈顶,从栈顶移除。 创建堆栈 为了创建堆栈,我们必须导入 java.util.Stack 先打包。导入包后,下面是我们如何在 Java 中创建堆栈。 Stack<Type> stacks = new Stack<>(); 这里,Type 表示堆栈的类型。例如, // Crea
Java 向量 在本教程中,我们将学习 Vector 类以及如何使用它。我们还将了解它与 ArrayList 类有何不同,以及为什么我们应该使用数组列表。 Vector 类是 List 的实现 接口,允许我们创建类似于 ArrayList 类的可调整大小的数组。 Java Vector vs. ArrayList 在 Java 中,ArrayList 和 Vector 实现 List 接口并提供相同的功能。但是,它们之间存在一些差异。 Vector 类同步每个单独的操作。这意味着每当我们想要对向量执行一些操作时,Vector 类自动对该操作应用锁。 这是因为当一个线程正在访问一个向
Java ArrayList 类 在本教程中,我们将学习 Java 中的 ArrayList 类。我们将通过示例了解arraylist的不同操作和方法。 ArrayList Java 集合框架的类提供了 resizable-arrays 的功能 . 它实现了 List 界面。 Java ArrayList 与数组 在 Java 中,我们需要先声明数组的大小,然后才能使用它。一旦声明了数组的大小,就很难更改。 为了处理这个问题,我们可以使用 ArrayList 班级。它允许我们创建可调整大小的数组。 与数组不同,arraylists 可以在我们添加或删除元素时自动调整其容量。因此
Java 列表 在本教程中,我们将了解 Java 中的 List 接口及其方法。 在 Java 中,List interface 是一个有序集合,它允许我们按顺序存储和访问元素。它扩展了 Collection 界面。 实现列表的类 从 List 是一个接口,我们不能从它创建对象。 为了使用 List 的功能 接口,我们可以使用这些类: 数组列表 链表 矢量 堆栈 这些类在 Collections 框架中定义并实现 List 界面。 List如何使用? 在 Java 中,我们必须导入 java.util.List 包以便使用 List . // ArrayList imp
Java 集合接口 在本教程中,我们将了解 Java Collection 接口及其子接口。 Collection interface是Java集合框架的根接口。 这个接口没有直接的实现。但是,它是通过其子接口实现的,例如 List , Set , 和 Queue . 例如,ArrayList 类实现 List 接口是 Collection 的子接口 界面。 集合的子接口 如上所述,Collection 接口包括Java中各种类实现的子接口。 1。列表接口 List 接口是一个有序集合,它允许我们像数组一样添加和删除元素。要了解更多信息,请访问:Java 列表接口。 2。
Java 集合框架 在本教程中,我们将了解 Java 集合框架的不同接口。 Java 集合 框架提供了一组接口和类来实现各种数据结构和算法。 例如,LinkedList 集合框架类提供了双向链表数据结构的实现。 集合框架的接口 Java 集合框架提供了各种接口。这些接口包括几种对集合执行不同操作的方法。 我们将在后面的章节中详细了解这些接口、它们的子接口以及各种类中的实现。让我们在本教程中简要了解常用的接口。 Java 集合接口 Collection interface 是集合框架层次结构的根接口。 Java 不提供 Collection 的直接实现 接口,但提供其子接口
Java 断言 在本教程中,我们将借助示例了解 Java 断言语句(Java assertions)。 Java 中的断言通过测试我们假设为真的代码来帮助检测错误。 使用 assert 进行断言 关键字。 它的语法是: assert condition; 这里,condition 是一个布尔表达式,我们在程序执行时假定它为真。 启用断言 默认情况下,断言在运行时被禁用和忽略。 要启用断言,我们使用: java -ea:arguments 或 java -enableassertions:arguments 当断言启用且条件为 true ,程序正常执行。 但是如果条件
Java 日志记录 在本教程中,我们将通过示例了解 Java Logging 及其各种组件。 Java 允许我们通过日志记录的过程来创建和捕获日志消息和文件。 在 Java 中,日志记录需要框架和 API。 Java在java.util.logging中有一个内置的日志框架 包。 我们还可以使用 Log4j、Logback 等第三方框架进行日志记录。 Java 日志组件 下图表示Java Logging API(java.util.logging的核心组件和控制流程 )。 1。记录器 Logger 类提供记录方法。我们可以从 Logger 实例化对象 类并调用其方法进行日志记录
Java 注释类型 在本教程中,我们将通过示例了解不同类型的 Java 注解。 Java 注释是我们程序源代码的元数据(关于数据的数据)。 Java SE 提供了几个预定义的注解。此外,我们还可以根据需要创建自定义注解。 如果您不知道注解是什么,请访问 Java 注解教程。 这些注解可以分类为: 1. 预定义注释 @Deprecated @Override @SuppressWarnings @SafeVarargs @FunctionalInterface 2. 自定义注解 3. 元注释 @Retention @Documented @Target
Java 注释 在本教程中,我们将通过示例了解什么是注解、不同的 Java 注解以及如何使用它们。 Java 注解是我们程序源代码的元数据(关于数据的数据)。 它们向编译器提供有关程序的附加信息,但不是程序本身的一部分。这些注解不影响编译后程序的执行。 注解以 @ 开头 .它的语法是: @AnnotationName 我们以@Override为例 注释。 @Override annotation 指定已用此注解标记的方法覆盖具有相同方法名称、返回类型和参数列表的超类的方法。 不强制使用 @Override 覆盖方法时。但是,如果我们使用它,如果在覆盖方法时出现错误(例如错误
Java try-with-resources 在本教程中,我们将学习 try-with-resources 语句来自动关闭资源。 try-with-resources 语句在语句末尾自动关闭所有资源。资源是在程序结束时要关闭的对象。 它的语法是: try (resource declaration) { // use of the resource } catch (ExceptionType e1) { // catch block } 从上面的语法可以看出,我们声明了try-with-resources 声明人, 在try中声明和实例化资源 子句。 指定和处理关闭资源
Java 捕获多个异常 在本教程中,我们将通过示例学习如何处理 Java 中的多个异常。 在Java 7之前,即使存在代码冗余,我们也不得不为不同类型的异常编写多个异常处理代码。 举个例子吧。 示例 1:多个 catch 块 class Main { public static void main(String[] args) { try { int array[] = new int[10]; array[10] = 30 / 0; } catch (ArithmeticException e) { System.out.prin
Java 抛出和抛出 在本教程中,我们将通过示例学习使用 throw 和 throws 关键字进行异常处理。 在Java中,异常可以分为两类: 未经检查的异常: 它们不是在编译时而是在运行时检查的。例如:ArithmeticException , NullPointerException , ArrayIndexOutOfBoundsException , Error 下的异常 类等。 已检查的异常: 它们在编译时被检查。例如,IOException , InterruptedException 等。 参考Java Exceptions详细了解checked和unchecked exc
Java 尝试...捕获 在本教程中,我们将通过示例了解 Java 中的 try catch 语句。 try...catch Java中的block用于处理异常,防止程序异常终止。 这是 try...catch 的语法 Java 中的块。 try{ // code } catch(exception) { // code } try 块包含可能产生异常的代码。 catch 块包含 try 内发生异常时执行的代码 块。 示例:Java try...catch 块 class Main { public static void main(String[] args) {
Java 异常处理 在本教程中,我们将通过示例了解 Java 中异常处理的不同方法。 在上一个教程中,我们学习了 Java 异常。我们知道异常会异常终止程序的执行。 这就是为什么处理异常很重要。下面列出了在 Java 中处理异常的不同方法。 try...catch 块 终于屏蔽了 throw 和 throws 关键字 1. Java try...catch 块 try-catch 块用于处理 Java 中的异常。这是 try...catch 的语法 块: try { // code } catch(Exception e) { // code } 在这里,我们将可能产生
Java 异常 在本教程中,我们将学习 Java 中的异常。我们将介绍 Java 中的错误、异常和不同类型的异常。 异常是程序执行过程中发生的意外事件。影响程序指令的流动,可能导致程序异常终止。 出现异常的原因有很多。其中一些是: 用户输入无效 设备故障 网络连接中断 物理限制(磁盘内存不足) 代码错误 打开一个不可用的文件 Java 异常层次结构 这是Java中异常层次结构的简化图。 如上图所示,Throwable class 是层次结构中的根类。 请注意,层次结构分为两个分支:错误和异常。 错误 错误 表示Java虚拟机(JVM)内存不足、内存泄漏、堆栈溢出错误、库
Java 反射 在本教程中,我们将学习反射,这是 Java 编程中的一个功能,可以让我们检查和修改类、方法等。 在 Java 中,反射允许我们在运行时检查和操作类、接口、构造函数、方法和字段。 Java中有一个名为Class的类 在运行时保留有关对象和类的所有信息。 Class 的对象 可以用来进行反射。 Java类的反射 为了体现一个Java类,我们首先需要创建一个Class的对象 . 而且,使用该对象,我们可以调用各种方法来获取有关类中存在的方法、字段和构造函数的信息。 Class 对象的创建方式有以下三种: 1。使用 forName() 方法 class Dog {..
Java 枚举字符串 在本教程中,我们将学习了解枚举常量的字符串值。我们还将通过示例学习覆盖枚举常量的默认字符串值。 Java 枚举字符串 在了解枚举字符串之前,请务必了解 Java 枚举。 在 Java 中,我们可以使用 toString() 获取枚举常量的字符串表示形式 方法或 name() 方法。例如, enum Size { SMALL, MEDIUM, LARGE, EXTRALARGE } class Main { public static void main(String[] args) { System.out.println(string
java