浏览代码

clean up topology code

tags/2.0.1
Jonathan Cobb 4 年前
父节点
当前提交
4c1d7e827a
共有 1 个文件被更改,包括 16 次插入14 次删除
  1. +16
    -14
      src/main/java/org/cobbzilla/util/collection/Topology.java

+ 16
- 14
src/main/java/org/cobbzilla/util/collection/Topology.java 查看文件

@@ -20,20 +20,22 @@ public class Topology<T> {
.findFirst().orElse(null);
final Node<T> node = existingNode != null ? existingNode : new Node<>(thing);

// add refs as edges; skip self-references
refs.stream().filter(ref -> !ref.equals(thing)).forEach(ref -> {
final Node<T> existingEdgeNode = nodes.stream()
.filter(n -> n.thing.equals(ref))
.findFirst()
.orElse(null);
if (existingEdgeNode != null) {
node.addEdge(existingEdgeNode);
} else {
final Node<T> newEdgeNode = new Node<>(ref);
nodes.add(newEdgeNode);
node.addEdge(newEdgeNode);
}
});
// add refs as edges
refs.stream()
.filter(ref -> !ref.equals(thing)) // skip self-references
.forEach(ref -> {
final Node<T> existingEdgeNode = nodes.stream()
.filter(n -> n.thing.equals(ref))
.findFirst()
.orElse(null);
if (existingEdgeNode != null) {
node.addEdge(existingEdgeNode);
} else {
final Node<T> newEdgeNode = new Node<>(ref);
nodes.add(newEdgeNode);
node.addEdge(newEdgeNode);
}
});
if (existingNode == null) nodes.add(node);
}



正在加载...
取消
保存