Java Pair2025年5月3日 | 阅读 9 分钟 Pair 非常有用,当我们想从一个方法返回两个值时。例如,如果我们有一个计算数字平方根的方法,并且我们想打印数字及其平方根,我们可以使用 Pair 类将输出打印为数字及其平方根的组合(例如,(5, 25))。 Java 从 Java 8 开始提供了内置的 Pair 类。 在本节中,我们将了解如何在 Java 中使用 Pair 类。此外,我们将创建我们自定义的 Pair 类。 通过这种定制,可以处理各种类型的数据对和操作。通过实现自定义 Pair 类,开发人员可以自定义功能,例如添加额外的方法或限制,从而更精确地控制键值对。这种方法提高了代码的整体数据结构处理效率、可读性和可维护性。 Java 中的 Pair 类自 Java 8 起,Java 提供了一个 Pair 类来以键值对的组合形式存储值。要以对的组合形式存储值,我们需要使用 javafx.util.Pair 类提供的参数化构造函数。 Pair 类在将值存储在树形数据结构中时非常有用。在对树形数据结构执行递归操作时,使用 Pair 类可以轻松地将值从一个节点传递到另一个节点。这些值可以是到该节点的最小和最大节点值。这将避免指针反复访问某些代码。 在 Java 中,Map 用于以键值对的形式存储值。它们将值存储为元组并将它们作为一个对象进行操作。 Java 的 Pair 类提供了一个有用的方法来管理键值对,从而更容易执行各种任务,例如组织和检索数据。自 Java 8 以来,javafx.util.Pair 类作为程序员的有用工具变得越来越重要,尤其是在处理树形数据结构时。通过使用 Pair 对象,开发人员可以在树的递归操作(如遍历和搜索)期间有效地在节点之间传输值。这使得数据(如最小和最大节点值)能够在树的各个区域之间顺畅移动,从而有助于优化效率并减少冗余的代码执行。 此外,尽管 Java Map 通常用于存储键值对,但在需要更简单、更有针对性的方法时,Pair 类提供了一种轻量级的替代方案——所有这些都无需处理完整的 Map 实现所带来的复杂性。通过利用 Pair 类的功能,开发人员可以提高其算法和数据结构的效率和清晰度,并简化其代码。 要实现 Pair 类,我们需要导入其父包 内置的 Pair 类使用与 Java 中的 Map 类似的键和值表示法来存储一对值。 声明 Pair 类的对象声明如下 上述语法将创建一个 <Integer, String> 类型的对象,并且 构造函数 将接收值 5 和“Five”并将其存储在 Pair 类中。 Pair 类方法Java Pair 类提供了以下方法 getKey() 它获取给定对的键并返回指定对的键。声明如下 getValue() 它获取给定对的值并返回该对的值。声明如下 hashCode() 它为该对生成哈希码;此哈希码是使用该对的名称和值计算的。它覆盖了 HashCode 类并返回该对的哈希码。声明如下 equals() 它用于测试该对是否与另一对相等。如果未为测试指定对象或对象为 null,则返回 false。当且仅当两个给定对的名称和值相同时,这两个给定对才被视为相等。声明如下 它接受“ -o”参数对象以测试与该对的相等性。它覆盖了 Objects 类中的 equals 方法,如果给定的对相等,则返回 true;否则,返回 false。 toString() 它用于将该对表示为 String。在 toString() 方法中,始终使用默认的名称/值分隔符“=”。它覆盖了 Object 类中的 toString 方法并返回该对的 String 值。声明如下 Pair 类构造函数Pair 类构造函数创建一个新的对。它将键和对值作为参数。声明如下 Pair 类类型Java 中有两种 Pair 类,如下所示
为什么我们需要 Pair 类?Pair 类用于以键值对的形式获取值。换句话说,我们可以说 Pair 类提供了返回两个值的组合的方法。使用 Pair 类可能有很多原因。 以下是一些需要使用 Pair 类的情况
Pair 类示例让我们通过一个基本示例来理解它 Pair 类是 JavaFX 的一部分,因此我们需要创建和配置一个 JavaFX 项目。请参阅如何在 Eclipse 中创建 JavaFX 项目。 现在,在 src 文件夹下创建一个类文件。 我们正在创建一个 TestPair 类。 TestPair.java 输出 The key is :5 The Pair value is :Five 解释 此 Java 代码使用了 JavaFX 库中的 Pair 类。在 main 方法中,创建了一个带有整数键 5 和字符串值“Five”的 Pair 实例。可以使用 getKey() 方法从对中获取键,使用 getValue() 方法获取值。最后,使用 System.out.println() 命令打印这些数字。正如前面的示例一样,由于 JavaFX 的 Pair 类,无需定义一个特殊类即可存储一对值。 自定义 Pair 类如果我们不想使用内置的 Pair 类,我们可以使用泛型来自定义 Pair 类。请看下面的示例 文件名:CustomizedPair.java 从上面的代码中,我们创建了一个自定义 Pair 类,并将两个值存储在单个变量中并打印出来。 输出 < 1, Hello > 从上面的代码中,我们创建了一个自定义 Pair 类,并将两个值存储在单个变量中并打印出来。 解释 此 Java 代码介绍了 CustomizedPair 类。该类表示一个键值对,其中值是字符串 (String),键是整数 (int)。该类的构造函数使用接收到的输入值——整数键和字符串值——来初始化实例变量。另一种方法是 print(),它使用 System.out.println() 以“< 键, 值 >”的格式打印键值对。最后,在 main 方法中使用键为 1、值为“Hello”的 CustomizedPair 实例调用 print() 函数来打印该对,从而说明了该类的用法。 因此,使用泛型方法,我们可以在不使用 JavaFX 的情况下获得 Pair 类的优势。 让我们通过函数来理解它的行为。 带函数的 Pair 类我们可以使用 Pair 类通过函数返回两个值。要执行此过程,函数的返回类型必须是 pair。请看下面的示例 文件名:TestPair2.java 输出 Enter Value Five Enter Key 5 < 5, Five > 解释 此 Java 代码允许用户通过控制台以交互方式输入键值对。它首先从 java.util 包导入 Scanner 类。TestPair2 类包含一个 main 方法,在该方法中创建了一个 Scanner 对象来从控制台读取输入。然后,它将 Scanner 对象作为参数传递给 func 方法,该方法提示用户输入值和键。在 func 方法中,它打印一条消息要求用户输入一个值,然后使用 s.next() 从用户那里读取字符串输入作为键。 然后,它打印另一条消息要求输入键,并使用 s.nextInt() 从用户那里读取整数输入作为值。在获取键和值之后,它使用提供的键和值创建一个新的 CustomizedPair 对象,并返回该对象。回到 main 方法,返回的 CustomizedPair 对象存储在变量 a 中,然后在其上调用 print 方法以将键值对打印到控制台。 结论总而言之,Java 中的 Pair 类提供了一种方便的方式来存储键值对,在各种场景中提供了灵活性和易用性。通过将两个值封装到一个实体中,开发人员可以简化代码并提高可读性,尤其是在处理相关数据集时。 无论是通过内置的 javafx.util.Pair 类还是自定义实现,Pair 在从方法返回多个值、管理树形结构中的数据或仅仅是高效地组织相关数据方面都是有价值的工具。此外,自定义 Pair 类的能力允许开发人员根据特定需求定制功能,从而增强对键值对的控制,并提高整体代码的可维护性和效率。 总的来说,Java 中的 Pair 类是一种多功能且强大的工具,可增强 Java 程序员在处理数据结构和有效组织数据方面的能力。 |
Java 字节码是 JVM 理解的 Java 代码指令集。Java 程序编译后,会为其代码生成字节码。简单来说,Java 字节码就是 .class 文件形式的机器码。用...
5 分钟阅读
矩阵是线性代数和计算机编程的重要组成部分。它们用于各种应用,包括图像处理、数据操作和数值模拟。处理矩阵时的一个常见任务是计算主对角线上元素的总和。在本文中,我们将...
5 分钟阅读
java.time.chrono.JapaneseChronology 包含 prolepticYear() 方法。可以使用 JapaneseChronology 类检索特定日本时期在日本系统中存在的预测年份。语法:public int prolepticYear(Era era_name, int yearOfEra) 参数:方法接受以下参数:era_name:...
阅读 3 分钟
打印字符串 s 的所有内容,倒序打印,但排除第一个和最后一个单词。示例:输入:Hello, welcome to JavaTpoint 输出:Hello, emoclew ot JavaTpoint 输入:I am good 输出:I ma good 输入:I am good at Java 输出:I ma doog ta Java 第一个单词正常打印。打印...的相反。
阅读 2 分钟
在Java中,可以使用if-else语句与三元运算符这两种机制来处理决策逻辑。三元运算符(?:)作为一个简洁的表达式解决方案,可以降低代码中条件语句的复杂性。处理多个条件需要不同的解决方案...
5 分钟阅读
在面向对象编程领域,Java 是最受欢迎和最广泛使用的语言之一。Java 面向对象范例的核心是类和对象,而这些元素的核心是构造函数。构造函数是 Java 的一项基本功能,用于...
5 分钟阅读
在 Java 中找到给定数字阶乘的最后两位数是一项常见的数学计算。该任务涉及计算阶乘并仅提取结果的最后两位数字。Java 提供了各种方法来实现这一点。考虑一个整数 Num;...
5 分钟阅读
在 Java 中,垃圾回收是一种提供自动内存管理的机制。它由 JVM 完成。程序员无需处理对象的分配和释放。在之前的章节中,我们还讨论了垃圾回收的工作原理。如果您还不熟悉…
5 分钟阅读
在本节中,我们将学习如何在不使用算术运算符(*)的情况下在 Java 中将两个数字相乘。两个数字的乘积可以通过重复加法方法找到。这意味着将乘数加到自身上,直到乘数次。该方法...
阅读 3 分钟
有向图的传递闭包是一个可达性矩阵,显示任意两个顶点之间是否存在路径。当从顶点 u 到顶点 v 存在路径时,闭包将设置 reach[u][v] = 1;否则,reach[u][v] = 0。传递闭包...
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India