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 6dda87a6f6fbe9e75579a21c21b5bd0ff0ac3b0f..01734eb6fafcea232557459555734583695cc7cf 100644 --- a/src/main/java/it/unibz/inf/isochrone/algorithm/Isochrone.java +++ b/src/main/java/it/unibz/inf/isochrone/algorithm/Isochrone.java @@ -12,11 +12,12 @@ 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; import java.util.HashSet; +import java.util.LinkedHashSet; +import java.util.LinkedList; import java.util.Map; import java.util.Map.Entry; import java.util.PriorityQueue; @@ -215,7 +216,7 @@ public abstract class Isochrone { } private Collection<Node> expandLinks(final Node node, final Collection<Link> links) { - final Collection<Node> resultNodes = new ArrayList<>(); + final Collection<Node> resultNodes = new LinkedList<>(); final NodeConnection nConnections = new NodeConnection(node); for (final Link link : links) { @@ -297,7 +298,7 @@ public abstract class Isochrone { } final Map<Node, Double> newDistances = getAdjNodeCost(nConnection); - final Set<Node> resultCollection = new HashSet<>(newDistances.size()); + final Set<Node> resultCollection = new LinkedHashSet<>(newDistances.size()); for (final Entry<Node, Double> e : newDistances.entrySet()) { final Node adjacentNode = e.getKey(); final double newDistance = e.getValue(); 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 144980f8f4cc70c9f77e121ff21fa4886b9c4e0e..38c92d152759e65740f14a48461e4b8caf63fde8 100644 --- a/src/main/java/it/unibz/inf/isochrone/network/NodeConnection.java +++ b/src/main/java/it/unibz/inf/isochrone/network/NodeConnection.java @@ -2,8 +2,8 @@ package it.unibz.inf.isochrone.network; import java.util.ArrayList; import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.Map; import java.util.Set; @@ -18,8 +18,8 @@ public class NodeConnection { public NodeConnection(final Node sourceNode) { this.sourceNode = sourceNode; - this.continuousTargetConnections = new HashMap<>(); - this.discreteTargetConnections = new HashMap<>(); + this.continuousTargetConnections = new LinkedHashMap<>(); + this.discreteTargetConnections = new LinkedHashMap<>(); } // Getters @@ -73,7 +73,7 @@ public class NodeConnection { } public Map<Node, Collection<Link>> getTargets() { - final Map<Node, Collection<Link>> allTargets = new HashMap<>(); + final Map<Node, Collection<Link>> allTargets = new LinkedHashMap<>(); allTargets.putAll(continuousTargetConnections); allTargets.putAll(discreteTargetConnections); @@ -140,7 +140,7 @@ public class NodeConnection { private static Collection<Integer> getIdsForRoutes(final Map<Node, Collection<Link>> m) { final Collection<Collection<Link>> linkSet = m.values(); - final Set<Integer> resultSet = new HashSet<>(linkSet.size()); + final Set<Integer> resultSet = new LinkedHashSet<>(linkSet.size()); for (final Collection<Link> lCollection : linkSet) { for (final Link l : lCollection) { resultSet.add(l.getRoute()); @@ -156,7 +156,7 @@ public class NodeConnection { private static Collection<Integer> getRoutesToTargetNode(final Map<Node, Collection<Link>> m, final Node node) { final Collection<Link> linkSet = m.get(node); - final Set<Integer> resultSet = new HashSet<>(linkSet.size()); + final Set<Integer> resultSet = new LinkedHashSet<>(linkSet.size()); for (final Link l : linkSet) { resultSet.add(l.getRoute()); } @@ -165,7 +165,7 @@ public class NodeConnection { private static Collection<Integer> getIdsForTargetNodes(final Map<Node, Collection<Link>> m) { final Set<Node> nodeSet = m.keySet(); - final Set<Integer> resultSet = new HashSet<>(nodeSet.size()); + final Set<Integer> resultSet = new LinkedHashSet<>(nodeSet.size()); for (final Node n : nodeSet) { resultSet.add(n.getId()); }