Class VertexToIntegerMapping<V>

java.lang.Object
org.jgrapht.util.VertexToIntegerMapping<V>
Type Parameters:
V - the graph vertex type

public class VertexToIntegerMapping<V> extends Object
Helper class for building a one-to-one mapping for a collection of vertices to the integer range $[0, n)$ where $n$ is the number of vertices in the collection.

This class computes the mapping only once, on instantiation. It does not support live updates.

Author:
Alexandru Valeanu
  • Constructor Details

    • VertexToIntegerMapping

      public VertexToIntegerMapping(List<V> vertices)
      Create a new mapping from a list of vertices. The input list will be used as the indexList so it must not be modified.
      Parameters:
      vertices - the input list of vertices
      Throws:
      NullPointerException - if vertices is null
      IllegalArgumentException - if the vertices are not distinct
    • VertexToIntegerMapping

      public VertexToIntegerMapping(Collection<V> vertices)
      Create a new mapping from a collection of vertices.
      Parameters:
      vertices - the input collection of vertices
      Throws:
      NullPointerException - if vertices is null
      IllegalArgumentException - if the vertices are not distinct
  • Method Details

    • getVertexMap

      public Map<V,Integer> getVertexMap()
      Get the vertexMap, a mapping from vertices to integers (i.e. the inverse of indexList).
      Returns:
      a mapping from vertices to integers
    • getIndexList

      public List<V> getIndexList()
      Get the indexList, a mapping from integers to vertices (i.e. the inverse of vertexMap).
      Returns:
      a mapping from integers to vertices