在 Java 中实现通用图2025 年 5 月 13 日 | 阅读 6 分钟 泛型用于创建图的 Java 代码。Java 的 HashMap 类用于实现 Graph 类。众所周知,HashMap 有一个键和一个值,在图中,节点表示为键,它们的邻接列为值。 什么是泛型?泛型是指参数化类型。其思想是允许一种类型(如 Integer、String 或用户定义的类型)用作 方法、类 和 接口 中的参数。泛型允许我们构建能够处理各种数据类型的类。泛型实体是使用参数化类型的类、接口或方法。 什么是图?图是一种由边和顶点组成的数据结构。顶点是存储值的节点/标签,边将它们连接起来。“泛型图”一词通常指可以一次创建并在不同数据中使用而无需修改的图。Java 中的用户可以使用泛型类来生成泛型 图。 泛型图的实现方法:使用 HashMap可以使用泛型类和 HashMap 来实现泛型图。主要是使用 HashMap,因为它包含键值对。在这种情况下,键代表节点,邻接列表代表图的值。这简化了泛型图的实现。 就像在 C++ 中一样,我们在创建泛型类时通常使用 <> 来定义参数类型。 创建泛型类的对象。 语法 请注意,像 'int'、'char' 和 'double' 这样的原始类型不能在参数类型中使用。 输出 The graph is: 0 : 1 4 1 : 0 2 3 4 2 : 1 3 3 : 1 2 4 4 : 0 1 3 The graph contains 5 vertices The graph contains 7 edges. The graph contains an edge between 3 and 4. The graph does not contain 5 as a vertex. The adjacent element of 1 are 0,2,3,4 解释上面的程序创建了一个带有 HashMap 的泛型图,其中每个顶点表示一个附近顶点的列表。它包括添加顶点和边、确定它们是否存在、计算顶点和边以及检索相邻节点的方法。图可以根据布尔类型参数拥有有向边和无向边。 方法:使用 HashSet泛型类和 HashSet 可以结合使用来创建泛型图。首选 HashSet,因为它能保留唯一元素,同时提供快速查找。 键代表节点,HashSet 包含它们的相邻节点,形成邻接列表。这种方法通过自动防止重复边来帮助正确管理图结构。 在定义泛型类时,我们使用尖括号 (<>) 来表示类型参数。 创建泛型类对象的语法如下 文件名:GraphCreation.java 输出 P: Q N Q: P N R: K: L M L: K M: K N N: P Q M The total number of vertices is: 7 The total number of edges is: 6 解释上面的程序使用 HashMap 和 HashSet 创建了一个泛型无向图,其中每个顶点映射到一个附近顶点的集合。它包括添加顶点和边、检查它们是否存在以及计算顶点和边的方法。 HashSet 保证了边的唯一性,防止了重复连接。main() 函数演示了图的生成、边的添加以及邻接列表的输出。 下一个主题Java 中的注解如何工作 |
二进制数制中两个连续值之间仅相差一位,这被称为“格雷码”。此外,数字信号处理和纠错也可以从中受益。将格雷码数字转换为其十进制等效数的过程称为...
阅读 4 分钟
在本节中,我们将学习什么是 Strontio 数,并创建 Java 程序来检查给定数字是否为 Strontio。Strontio 数程序经常在 Java 编码测试和学术界中出现。Strontio 数 Strontio 数是指四位数字,当乘以……
阅读 3 分钟
《设计模式:可重用面向对象软件元素》一书中有23种设计模式,它们被归类为“四人帮”(Gang of Four)设计模式。这本最早于1994年出版的、被认为是最受欢迎的设计模式书籍之一,作者是Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides……
阅读 3 分钟
图案程序通常在面试中被问及,以检查逻辑实现和循环概念。在前一节中,我们讨论了各种图案,如三角形、树形、星形等。在本节中,我们将学习如何通过 Java 打印皇冠图案...
阅读 6 分钟
在计算机编程中,队列是一种基本的数据结构,它以线性顺序存储项目,并遵循“先进先出”(FIFO)原则。这意味着第一个被移除的元素将是第一个被添加的元素。例如工作调度、事件管理……
阅读 8 分钟
Euclid-Mullin 序列是一个素数序列,其特点是递归定义。更技术地说,这个序列以数字 2 作为它的第一项。后续项是通过查找满足特定条件的素数来生成的。在这个序列中,...
5 分钟阅读
在 Java 中,布尔数据类型表示两个值之一:true 或 false。将布尔值转换为整数通常涉及将这些布尔值映射到整数,通常 true 映射到 1,false 映射到 0。这种转换在各种场景中都很有用,例如存储...
阅读 6 分钟
在 Java 中,泛型主要用于提供创建能够使用任何数据类型(包括类型安全)工作的类和方法的机制。当在 Java 中使用泛型时,对象的类型通常在……
阅读9分钟
在 Java 中,Future 和 Callable 接口是 java.util.concurrent 包的重要组成部分。它们提供了一种机制来管理异步任务的结果并处理异步任务。尽管它们都有类似的功能,但它们之间存在一些显著的差异,这些差异是...
阅读 3 分钟
getChannel() 方法定义在 Java.io.FileInputStream 类中。getChannel() 方法是创建文件的 FileChannel 实例的入口点。它通常在 FileInputStream、FileOutputStream 和 RandomAccessFile 等类中可用。FileInputStream 我们可以使用 FileInputStream 从文件中读取数据。如果我们想...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India