package com.example.portfolio3; // origin: import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.Set; /// EdgeGraph - One big set of all edges in the graph class EdgeGraph extends AbstractGraph { /// foo EdgeGraph() { } /// foo Set edges = new HashSet<>(); /// foo public void insertEdge(final Vertex v1, final Vertex v2, final int w) { edges.add(new Edge(v1, v2, w)); } /// foo public Collection edges() { return edges; } /// foo public Collection outEdge(final Vertex v) { ArrayList outEdge = new ArrayList<>(); for (Edge e: edges) if (e.from() == v) outEdge.add(e); return outEdge; } /// foo public Integer getWeight(final Vertex v1, final Vertex v2) { // linear in number of edges in the graph for (Edge e:edges) { if (e.from() == v1 && e.to() == v2) return e.weight(); } return null; } }