java.lang.Object
org.jgrapht.graph.DirectedAcyclicGraph.VisitedArrayListImpl
- All Implemented Interfaces:
Serializable,DirectedAcyclicGraph.VisitedStrategy,DirectedAcyclicGraph.VisitedStrategyFactory
- Enclosing class:
- DirectedAcyclicGraph<V,
E>
protected static class DirectedAcyclicGraph.VisitedArrayListImpl
extends Object
implements DirectedAcyclicGraph.VisitedStrategy, DirectedAcyclicGraph.VisitedStrategyFactory
A visited strategy using an
ArrayList.
This implementation seems to offer the best performance in most cases. It grows the internal ArrayList as needed to be as large as |AR|, so it will be more memory intensive than the HashSet implementation, and unlike the Array implementation, it will hold on to that memory (it expands, but never contracts).
- Author:
- Peter Giles
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclearVisited(int index) Clear the visited state of the given topological index.booleangetVisited(int index) Get if the given topological index has been visited.getVisitedStrategy(DirectedAcyclicGraph.Region affectedRegion) Create a new instance ofDirectedAcyclicGraph.VisitedStrategy.voidsetVisited(int index) Mark the given topological index as visited.
-
Constructor Details
-
VisitedArrayListImpl
public VisitedArrayListImpl()Constructor
-
-
Method Details
-
getVisitedStrategy
public DirectedAcyclicGraph.VisitedStrategy getVisitedStrategy(DirectedAcyclicGraph.Region affectedRegion) Description copied from interface:DirectedAcyclicGraph.VisitedStrategyFactoryCreate a new instance ofDirectedAcyclicGraph.VisitedStrategy.- Specified by:
getVisitedStrategyin interfaceDirectedAcyclicGraph.VisitedStrategyFactory- Parameters:
affectedRegion- the affected region- Returns:
- a new instance of
DirectedAcyclicGraph.VisitedStrategyfor the affected region
-
setVisited
public void setVisited(int index) Description copied from interface:DirectedAcyclicGraph.VisitedStrategyMark the given topological index as visited.- Specified by:
setVisitedin interfaceDirectedAcyclicGraph.VisitedStrategy- Parameters:
index- the topological index
-
getVisited
public boolean getVisited(int index) Description copied from interface:DirectedAcyclicGraph.VisitedStrategyGet if the given topological index has been visited.- Specified by:
getVisitedin interfaceDirectedAcyclicGraph.VisitedStrategy- Parameters:
index- the topological index- Returns:
- true if the given topological index has been visited, false otherwise
-
clearVisited
Description copied from interface:DirectedAcyclicGraph.VisitedStrategyClear the visited state of the given topological index.- Specified by:
clearVisitedin interfaceDirectedAcyclicGraph.VisitedStrategy- Parameters:
index- the index- Throws:
UnsupportedOperationException- if the implementation doesn't support (or doesn't need) clearance. For example, if the factory creates a new instance every time, it is a waste of cycles to reset the state after the search of the Affected Region is done, so an UnsupportedOperationException *should* be thrown.
-