protected static class DirectedAcyclicGraph.VisitedArrayListImpl extends Object implements DirectedAcyclicGraph.VisitedStrategy, DirectedAcyclicGraph.VisitedStrategyFactory
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).
| Constructor and Description |
|---|
VisitedArrayListImpl()
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
void |
clearVisited(int index)
Clear the visited state of the given topological index.
|
boolean |
getVisited(int index)
Get if the given topological index has been visited.
|
DirectedAcyclicGraph.VisitedStrategy |
getVisitedStrategy(DirectedAcyclicGraph.Region affectedRegion)
Create a new instance of
DirectedAcyclicGraph.VisitedStrategy. |
void |
setVisited(int index)
Mark the given topological index as visited.
|
public DirectedAcyclicGraph.VisitedStrategy getVisitedStrategy(DirectedAcyclicGraph.Region affectedRegion)
DirectedAcyclicGraph.VisitedStrategyFactoryDirectedAcyclicGraph.VisitedStrategy.getVisitedStrategy in interface DirectedAcyclicGraph.VisitedStrategyFactoryaffectedRegion - the affected regionDirectedAcyclicGraph.VisitedStrategy for the affected regionpublic void setVisited(int index)
DirectedAcyclicGraph.VisitedStrategysetVisited in interface DirectedAcyclicGraph.VisitedStrategyindex - the topological indexpublic boolean getVisited(int index)
DirectedAcyclicGraph.VisitedStrategygetVisited in interface DirectedAcyclicGraph.VisitedStrategyindex - the topological indexpublic void clearVisited(int index)
throws UnsupportedOperationException
DirectedAcyclicGraph.VisitedStrategyclearVisited in interface DirectedAcyclicGraph.VisitedStrategyindex - the indexUnsupportedOperationException - 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.Copyright © 2018. All rights reserved.