public class LongNullHashSetEdges extends Object implements ReuseObjectsOutEdges<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>, MutableOutEdges<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>, StrictRandomAccessOutEdges<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>, Trimmable
OutEdges
implementation with long ids and null edge values,
backed by a LongOpenHashSet
.
Parallel edges are not allowed.
Note: this implementation is optimized for fast random access and mutations,
and uses less space than a generic HashMapEdges
(but more than
LongNullArrayEdges
.Constructor and Description |
---|
LongNullHashSetEdges() |
Modifier and Type | Method and Description |
---|---|
void |
add(Edge<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable> edge)
Add an edge.
|
org.apache.hadoop.io.NullWritable |
getEdgeValue(org.apache.hadoop.io.LongWritable targetVertexId)
Return the edge value for the given target vertex id (or null if there
is no edge pointing to it).
|
void |
initialize()
Initialize the data structure with the default initial capacity.
|
void |
initialize(int capacity)
Initialize the data structure with the specified initial capacity.
|
void |
initialize(Iterable<Edge<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>> edges)
Initialize the data structure and set the edges from an iterable.
|
Iterator<Edge<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>> |
iterator() |
Iterator<MutableEdge<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>> |
mutableIterator()
Returns an iterator over edges that can be modified in-place,
either by changing the current edge value or by removing the current edge.
|
void |
readFields(DataInput in) |
void |
remove(org.apache.hadoop.io.LongWritable targetVertexId)
Remove all edges to the given target vertex.
|
void |
setEdgeValue(org.apache.hadoop.io.LongWritable targetVertexId,
org.apache.hadoop.io.NullWritable edgeValue)
Set the edge value for the given target vertex id (if an edge to that
vertex exists).
|
int |
size()
Return the number of edges.
|
void |
trim()
Compacts all recent updates to this object.
|
void |
write(DataOutput out) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEach, spliterator
public void initialize(Iterable<Edge<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>> edges)
OutEdges
initialize
in interface OutEdges<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>
edges
- Iterable of edgespublic void initialize(int capacity)
OutEdges
initialize
in interface OutEdges<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>
capacity
- Initial capacitypublic void initialize()
OutEdges
initialize
in interface OutEdges<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>
public void add(Edge<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable> edge)
OutEdges
public void remove(org.apache.hadoop.io.LongWritable targetVertexId)
OutEdges
public int size()
OutEdges
public Iterator<Edge<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>> iterator()
public Iterator<MutableEdge<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>> mutableIterator()
MutableOutEdges
mutableIterator
in interface MutableOutEdges<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>
public void write(DataOutput out) throws IOException
write
in interface org.apache.hadoop.io.Writable
IOException
public void readFields(DataInput in) throws IOException
readFields
in interface org.apache.hadoop.io.Writable
IOException
public org.apache.hadoop.io.NullWritable getEdgeValue(org.apache.hadoop.io.LongWritable targetVertexId)
StrictRandomAccessOutEdges
getEdgeValue
in interface StrictRandomAccessOutEdges<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>
targetVertexId
- Target vertex idpublic void setEdgeValue(org.apache.hadoop.io.LongWritable targetVertexId, org.apache.hadoop.io.NullWritable edgeValue)
StrictRandomAccessOutEdges
setEdgeValue
in interface StrictRandomAccessOutEdges<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.NullWritable>
targetVertexId
- Target vertex idedgeValue
- Edge valueCopyright © 2011-2020 The Apache Software Foundation. All Rights Reserved.