From d14e77e0da0db122867500fecf6d0607ef4d3bd5 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 26 十二月 2024 13:43:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/RetreatNavigateService.java | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/RetreatNavigateService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/RetreatNavigateService.java index 5b13f69..0451ee4 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/RetreatNavigateService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/RetreatNavigateService.java @@ -23,6 +23,7 @@ import org.springframework.stereotype.Service; import java.util.*; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.stream.Collectors; /** @@ -95,7 +96,7 @@ List<RetreatNavigateNode> enableNodes = new ArrayList<>(); - ArrayList<RetreatNavigateNode> neighborNodes = this.getNeighborNodes(currentNode, existNodes, codeMatrix); + List<RetreatNavigateNode> neighborNodes = this.getNeighborNodes(currentNode, existNodes, codeMatrix); boolean pointOfTurn = neighborNodes.size() >= 2; label: for (RetreatNavigateNode node : neighborNodes) { if (node.getCodeData().equals(breakPoint)) { continue; } @@ -212,7 +213,7 @@ RetreatNavigateNode currentNode = openQueue.poll(); List<RetreatNavigateNode> enableNodes = new ArrayList<>(); - ArrayList<RetreatNavigateNode> neighborNodes = this.getNeighborNodes(currentNode, existNodes, codeMatrix); + List<RetreatNavigateNode> neighborNodes = this.getNeighborNodes(currentNode, existNodes, codeMatrix); // 绗竴姝ワ細鑾峰彇鏈夋晥杞集鐐� if (null == availablePointOfTurn) { @@ -319,12 +320,12 @@ } // 鑾峰彇鍥涘懆鑺傜偣 - private ArrayList<RetreatNavigateNode> getNeighborNodes(RetreatNavigateNode currentNode, Set<RetreatNavigateNode> existNodes, String[][] codeMatrix) { + private List<RetreatNavigateNode> getNeighborNodes(RetreatNavigateNode currentNode, Set<RetreatNavigateNode> existNodes, String[][] codeMatrix) { int x = currentNode.getX(); int y = currentNode.getY(); - ArrayList<RetreatNavigateNode> neighbourNodes = new ArrayList<>(); + List<RetreatNavigateNode> neighbourNodes = new CopyOnWriteArrayList<>(); List<RetreatNavigateNode> possibleNodes = Arrays.asList( new RetreatNavigateNode(x, y + 1), // right -- Gitblit v1.9.1