Создание графа из двух List

Я пробую создать граф из двух листов.

У меня есть два листа.

Первый список книг выглядит как:

{"AA", "AB", "AC"}

Второй:

{"AA", "AB"}, {"AA", "AC"}

Я написал такой код:

        int i = 0;
        for (String librari : librariesList) {
            int j = 0;
            for (String dependencies: librariesDependencies) {
                if(librari.equals(dependencies)) {
                    graph.addEdge(i, j);
                    System.out.println(i + " " +  j);
                }
                j++;
            }
            i++;
        }

Но понимаю что он не рабочий, так как он будет строить граф вида:

0 0
0 2
1 1
2 3

А не такой:

0 1
0 2

Что нужно исправить для получения правильного ответа?


Ответы (1 шт):

Автор решения: Alexandr

Один из вариантов:

package com.somepackage;

import java.util.List;

public class Main {

    public static void main(String[] args) {
        List<String> vertices = List.of("AA", "AB", "AC");
        List<String> edges = List.of("AA", "AB", "AA", "AC");
        for (int j = 0; j < edges.size() / 2; j++) {
            System.out.println(
                    vertices.indexOf(edges.get(2 * j)) + " " +
                            vertices.indexOf(edges.get(2 * j + 1)));
        }
    }
}
→ Ссылка