@Override public void initialize(Iterable<Edge<LongWritable, NullWritable>> edges) { EdgeIterables.initialize(this, edges); }
/** * Compare two edge iterables up to reordering. The edge value type needs * to be Comparable. * * @param e1 First edge iterable * @param e2 Second edge iterable * @param <I> Vertex id * @param <E> Edge value * @return Whether the two iterables are equal up to reordering */ public static <I extends WritableComparable, E extends WritableComparable> boolean sameEdges(Iterable<Edge<I, E>> e1, Iterable<Edge<I, E>> e2) { ArrayList<Edge<I, E>> edgeList1 = copy(e1); ArrayList<Edge<I, E>> edgeList2 = copy(e2); Comparator<Edge<I, E>> edgeComparator = new EdgeComparator<I, E>(); Collections.sort(edgeList1, edgeComparator); Collections.sort(edgeList2, edgeComparator); return equals(edgeList1, edgeList2); }
/** * Initialize edges data structure and add the edges from edgesIterable. * * If edgesIterable is instance of {@link OutEdges} or {@link Collection} * edges will be initialized with size of edgesIterable, * otherwise edges will be initialized without size. * * @param edges Edges to initialize * @param edgesIterable Iterable whose edges to use * @param <I> Vertex index * @param <E> Edge value */ public static <I extends WritableComparable, E extends Writable> void initialize(OutEdges<I, E> edges, Iterable<Edge<I, E>> edgesIterable) { if (edgesIterable instanceof OutEdges || edgesIterable instanceof Collection) { edges.initialize(size(edgesIterable)); } else { edges.initialize(); } for (Edge<I, E> edge : edgesIterable) { edges.add(edge); } if (edges instanceof Trimmable) { ((Trimmable) edges).trim(); } } }
@Override public void initialize(Iterable<Edge<LongWritable, NullWritable>> edges) { EdgeIterables.initialize(this, edges); }
@Override public void initialize(Iterable<Edge<I, E>> edges) { EdgeIterables.initialize(this, edges); }
@Override public void initialize(Iterable<Edge<I, E>> edges) { EdgeIterables.initialize(this, edges); }
@Override public void initialize(Iterable<Edge<LongWritable, DoubleWritable>> edges) { EdgeIterables.initialize(this, edges); }
@Override public void initialize(Iterable<Edge<IntWritable, NullWritable>> edges) { EdgeIterables.initialize(this, edges); }
@Override public void initialize(Iterable<Edge<LongWritable, DoubleWritable>> edges) { EdgeIterables.initialize(this, edges); }
@Override public void initialize(Iterable<Edge<I, NullWritable>> edges) { EdgeIterables.initialize(this, edges); }
@Override public void initialize(Iterable<Edge<LongWritable, EdgeValue>> edges) { EdgeIterables.initialize(this, edges); }
@Override public void initialize(Iterable<Edge<I, E>> edges) { EdgeIterables.initialize(this, edges); }
@Override public void initialize(Iterable<Edge<I, E>> edges) { EdgeIterables.initialize(this, edges); }
@Override public void initialize( Iterable<Edge<LongWritable, NullWritable>> edgeIterator ) { edges.initialize(); EdgeIterables.initialize(this, edgeIterator); edges.trim(); }