3.1.1 fertig

This commit is contained in:
joachimschmidt557 2019-02-12 19:42:34 +01:00
parent cafb36cb26
commit 7b2fdc159b

View file

@ -6,6 +6,7 @@ import java.util.List;
import java.util.function.Function; import java.util.function.Function;
import java.util.function.Predicate; import java.util.function.Predicate;
import java.util.stream.Collector; import java.util.stream.Collector;
import java.util.stream.Collectors;
import game.map.Castle; import game.map.Castle;
@ -78,8 +79,9 @@ public class Graph<T> {
* @return Eine Liste aller Knotenwerte * @return Eine Liste aller Knotenwerte
*/ */
public List<T> getAllValues() { public List<T> getAllValues() {
// TODO: Graph<T>#getAllValues()
return new ArrayList<>(); return nodes.stream().map(x -> x.getValue()).collect(Collectors.toList());
} }
/** /**
@ -90,8 +92,9 @@ public class Graph<T> {
* @return Die Liste aller zum Knoten zugehörigen Kanten * @return Die Liste aller zum Knoten zugehörigen Kanten
*/ */
public List<Edge<T>> getEdges(Node<T> node) { public List<Edge<T>> getEdges(Node<T> node) {
// TODO: Graph<T>#getEdges(Node<T>)
return new ArrayList<>(); return edges.stream().filter(x -> x.getNodeA().equals(node)).collect(Collectors.toList());
} }
/** /**
@ -102,8 +105,11 @@ public class Graph<T> {
* @return Die Kante zwischen beiden Knoten oder null * @return Die Kante zwischen beiden Knoten oder null
*/ */
public Edge<T> getEdge(Node<T> nodeA, Node<T> nodeB) { public Edge<T> getEdge(Node<T> nodeA, Node<T> nodeB) {
// TODO: Graph<T>#getEdge(Node<T>, Node<T>)
return null; return edges.stream()
.filter(x -> x.getNodeA().equals(nodeA) && x.getNodeB().equals(nodeB))
.findFirst()
.orElse(null);
} }
/** /**
@ -112,8 +118,12 @@ public class Graph<T> {
* @return Ein Knoten mit dem angegebenen Wert oder null * @return Ein Knoten mit dem angegebenen Wert oder null
*/ */
public Node<T> getNode(T value) { public Node<T> getNode(T value) {
// TODO: Graph<T>#getNode(T)
return null; return nodes.stream()
.filter(x -> x.getValue().equals(value))
.findFirst()
.orElse(null);
} }
/** /**