Class FastutilMapIntVertexGraph<E>

java.lang.Object
org.jgrapht.graph.AbstractGraph<V,​E>
org.jgrapht.graph.AbstractBaseGraph<java.lang.Integer,​E>
org.jgrapht.opt.graph.fastutil.FastutilMapIntVertexGraph<E>
Type Parameters:
E - the graph edge type
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Graph<java.lang.Integer,​E>

public class FastutilMapIntVertexGraph<E>
extends AbstractBaseGraph<java.lang.Integer,​E>
A graph implementation using fastutil's map implementations for storage specialized for integer vertices. Edges can be of any object type.

The following example creates a simple undirected weighted graph:

 Graph<Integer,
     DefaultWeightedEdge> g = new FastutilMapIntVertexGraph<>(
         SupplierUtil.createIntegerSupplier(), SupplierUtil.createDefaultWeightedEdgeSupplier(),
         DefaultGraphType.simple().asWeighted());
 
Author:
Dimitrios Michail
See Also:
FastutilMapGraph, Serialized Form
  • Constructor Details

    • FastutilMapIntVertexGraph

      public FastutilMapIntVertexGraph​(java.util.function.Supplier<java.lang.Integer> vertexSupplier, java.util.function.Supplier<E> edgeSupplier, GraphType type, boolean fastLookups)
      Construct a new graph.
      Parameters:
      vertexSupplier - the vertex supplier, can be null
      edgeSupplier - the edge supplier, can be null
      type - the graph type
      fastLookups - whether to index vertex pairs to allow (expected) constant time edge lookups (by vertex endpoints)
      Throws:
      java.lang.IllegalArgumentException - if the graph type is not supported by this implementation
    • FastutilMapIntVertexGraph

      public FastutilMapIntVertexGraph​(java.util.function.Supplier<java.lang.Integer> vertexSupplier, java.util.function.Supplier<E> edgeSupplier, GraphType type)
      Construct a new graph.

      By default we index vertex pairs to allow (expected) constant time edge lookups.

      Parameters:
      vertexSupplier - the vertex supplier, can be null
      edgeSupplier - the edge supplier, can be null
      type - the graph type
      Throws:
      java.lang.IllegalArgumentException - if the graph type is not supported by this implementation