@Override public Collection<E> findEdgeSet(V v1, V v2) { if (!containsVertex(v1) || !containsVertex(v2)) { return null; } ArrayList<E> edge_collection = new ArrayList<E>(1); // if (!containsVertex(v1) || !containsVertex(v2)) // return edge_collection; E e = findEdge(v1, v2); if (e == null) { return edge_collection; } edge_collection.add(e); return edge_collection; }
@Override public Collection<E> findEdgeSet(V v1, V v2) { if (!containsVertex(v1) || !containsVertex(v2)) return null; ArrayList<E> edge_collection = new ArrayList<E>(1); // if (!containsVertex(v1) || !containsVertex(v2)) // return edge_collection; E e = findEdge(v1, v2); if (e == null) return edge_collection; edge_collection.add(e); return edge_collection; }
@Override public boolean addEdge(E edge, Pair<? extends V> endpoints, EdgeType edgeType) { this.validateEdgeType(edgeType); Pair<V> new_endpoints = getValidatedEndpoints(edge, endpoints); if (new_endpoints == null) return false; V v1 = new_endpoints.getFirst(); V v2 = new_endpoints.getSecond(); if (findEdge(v1, v2) != null) return false; edges.put(edge, new_endpoints); if (!vertices.containsKey(v1)) this.addVertex(v1); if (!vertices.containsKey(v2)) this.addVertex(v2); // map v1 to <v2, edge> and vice versa vertices.get(v1).put(v2, edge); vertices.get(v2).put(v1, edge); return true; }
@Override public boolean addEdge(E edge, Pair<? extends V> endpoints, EdgeType edgeType) { this.validateEdgeType(edgeType); Pair<V> new_endpoints = getValidatedEndpoints(edge, endpoints); if (new_endpoints == null) { return false; } V v1 = new_endpoints.getFirst(); V v2 = new_endpoints.getSecond(); if (findEdge(v1, v2) != null) { return false; } edges.put(edge, new_endpoints); if (!vertices.containsKey(v1)) { this.addVertex(v1); } if (!vertices.containsKey(v2)) { this.addVertex(v2); } // map v1 to <v2, edge> and vice versa vertices.get(v1).put(v2, edge); vertices.get(v2).put(v1, edge); return true; }