java - 解决 Java 中不明确的结构

标签 java algorithm design-patterns

<分区>

我有两个程序 一个创建一个结构,一个解决它

结构如下

class A {
    List<B>
}

class B {
    List<A>
}

现在的问题是创建结构的程序不确定结构是否是

A1->B1
 |->B2->A2
     |->A3->B3->A4

A1->B1
 |->B3->A4
 |->B2->A2
     |->A3

有人可以提供一种方法来传递这种歧义,无论 B3 是附加到 A1 还是 A3,这样第二个程序就可以知道存在歧义,并可以根据某些约束决定使用哪个结构。

最佳答案

您可以将结构表示为具有两种节点(A 和 B)和两种链接(从 A 到 B 以及从 A 到 B 以及相反方向)的图形。

class A {}

class B {}

class Link<F,T> {
    F from;
    T to;
}

class Structure {
    List<A> a;
    List<B> b;
    List<Link<A,B>> a2b;
    List<Link<B,A>> b2a;
}

约束应确保链接仅存在于图的节点之间。

歧义将由指向同一节点的多个链接表示。

关于java - 解决 Java 中不明确的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26623133/

相关文章:

java - 从多个相关的 excel 表中读取 excel 数据并转储到 java 类中

java - JAVA 中 API 链接的最佳设计模式

java - Jenkins 不执行 Maven 项目的目标

java - 无法使用 javac 和 lombok 在控制台中编译 .h 文件。错误 : package lombok does not exist

algorithm - 根据另一个列表的排序方式对 Dart 中的列表进行排序

ruby-on-rails - 最小测试嵌套资源的 Controller

design-patterns - 什么是依赖注入(inject)?

java - 当我无法输入重复的数据库条目时,如何知道?

java - 如何在 Java 中定义 main(String[] args) 而不会收到警告和错误?

algorithm - 算法是否一定要有输出?