diff --git a/src/main/java/it/unibz/inf/isochrone/algorithm/Isochrone.java b/src/main/java/it/unibz/inf/isochrone/algorithm/Isochrone.java index 7aba38695f9f8479f0aa01f470f77e771f25638f..c4c80756496039d23b8a00e25c27fb322521117a 100644 --- a/src/main/java/it/unibz/inf/isochrone/algorithm/Isochrone.java +++ b/src/main/java/it/unibz/inf/isochrone/algorithm/Isochrone.java @@ -12,7 +12,6 @@ import it.unibz.inf.isochrone.network.NodeConnection; import it.unibz.inf.isochrone.util.EnumContainer.Direction; import it.unibz.inf.isochrone.util.Query; -import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; import java.util.Collections; @@ -215,8 +214,6 @@ public abstract class Isochrone { } private Collection<Node> expandLinks(final Node node, final Collection<Link> links) { - final Collection<Node> resultNodes = new ArrayList<>(); - final NodeConnection nConnections = new NodeConnection(node); for (final Link link : links) { final Node adjacentNode = getNode(link.getOppositeOf(node)); @@ -245,7 +242,7 @@ public abstract class Isochrone { } } - resultNodes.addAll(expandContinuousLinks(nConnections)); + final Collection<Node> resultNodes = expandContinuousLinks(nConnections); resultNodes.addAll(expandDiscreteLinks(nConnections)); return resultNodes; @@ -296,12 +293,9 @@ public abstract class Isochrone { return Collections.emptyList(); } - // FIXME - // Here: 13times (correct) final Set<Node> resultCollection = new HashSet<>(); final Map<Integer, Double> newDistances = getAdjNodeCost(nConnection); for (final Entry<Integer, Double> e : newDistances.entrySet()) { - // Here; 3times (why?) final Node adjacentNode = nConnection.getDiscreteTargetNode(e.getKey()); final double newDistance = e.getValue(); if (newDistance <= qDuration && newDistance < adjacentNode.getDistance()) { diff --git a/src/main/java/it/unibz/inf/isochrone/network/NodeConnection.java b/src/main/java/it/unibz/inf/isochrone/network/NodeConnection.java index c2b566246807b4468a9d21cf0171df54892c67db..364ef94c0b0a848c260f04964a5988fbcf035690 100644 --- a/src/main/java/it/unibz/inf/isochrone/network/NodeConnection.java +++ b/src/main/java/it/unibz/inf/isochrone/network/NodeConnection.java @@ -8,6 +8,8 @@ import java.util.Map; import java.util.Set; public class NodeConnection { + private static final int INITIAL_LIST_SIZE = 3; + private final Node sourceNode; private final Map<Node, Collection<Link>> continuousTargetConnections; private final Map<Node, Collection<Link>> discreteTargetConnections; @@ -118,7 +120,7 @@ public class NodeConnection { private static void addLinkForNode(final Map<Node, Collection<Link>> m, final Node node, final Link link) { Collection<Link> c = m.get(node); if (c == null) { - c = new ArrayList<>(); + c = new ArrayList<>(INITIAL_LIST_SIZE); } c.add(link);