Utilizzare i Graph in Java e Google Guava

Mattepuffo's logo
Utilizzare i Graph in Java e Google Guava

Utilizzare i Graph in Java e Google Guava

Per quanto riguarda la definizione di Graph vi rimando direttamente a Wikipedia.

Letto e capito, più o meno, di che parliamo, vediamo come usare queste strutture in Java con la libreria Google Guava.

Per installare la libreria con Maven, aggiungete questa dipendenza:

<dependency>
   <groupId>com.google.guava</groupId>
   <artifactId>guava</artifactId>
   <version>30.1-jre</version>
 </dependency>

Detto ciò, ecco un esempio di codice:

import com.google.common.graph.GraphBuilder;
import com.google.common.graph.MutableGraph;
import com.google.common.graph.Traverser;

public class Main {

    public static void main(String[] args) {
        MioNodo nodoRoot = new MioNodo("root");
        MioNodo nodo1 = new MioNodo("uno");
        MioNodo nodo2 = new MioNodo("due");
        MioNodo subNodo2 = new MioNodo("sub due");
        MioNodo nodo3 = new MioNodo("tre");

        MutableGraph<MioNodo> mutableGraph = GraphBuilder.directed().build();
        mutableGraph.putEdge(nodoRoot, nodo1);
        mutableGraph.putEdge(nodoRoot, nodo2);
        mutableGraph.putEdge(nodoRoot, nodo3);
        mutableGraph.putEdge(nodo2, subNodo2);

        System.out.println("----------");
        Traverser.forGraph(mutableGraph)
                .breadthFirst(nodoRoot)
                .forEach(x->System.out.println(x));
    }
}

Noi abbiamo usato un MutableGraph, e abbiamo usato Traverser per scorrere e leggere il Graph.

Dalla documentazione potete vedere che si vari metodi per scorrere la struttura.

Enjoy!


Condividi su Facebook

Commentami!