From f941a47ccd057a719eef4db7decf13bf9ad2a4f8 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 25 十二月 2024 11:13:11 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java index f26ba52..9e9e982 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java @@ -1,6 +1,7 @@ package com.zy.acs.manager.core.service.astart; import com.zy.acs.common.constant.RedisConstant; +import com.zy.acs.common.utils.GsonUtils; import com.zy.acs.common.utils.RedisSupport; import com.zy.acs.framework.common.Cools; import com.zy.acs.manager.common.utils.MapDataUtils; @@ -11,14 +12,17 @@ import com.zy.acs.manager.manager.entity.Segment; import com.zy.acs.manager.manager.service.JamService; import com.zy.acs.manager.system.service.ConfigService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; +import java.util.concurrent.CopyOnWriteArrayList; /** * Created by vincent on 6/12/2024 */ +@Slf4j @Service public class AStarNavigateService { @@ -58,9 +62,10 @@ // 鍙栦紭鍏堥槦鍒楅《閮ㄥ厓绱犲苟涓旀妸杩欎釜鍏冪礌浠嶰pen琛ㄤ腑鍒犻櫎锛屽彇F鍊兼渶灏忕殑鑺傜偣 NavigateNode currentNode = openQueue.poll(); - ArrayList<NavigateNode> neighbourNodes = this.getNeighborNodes(currentNode, mapMatrix, existNodes); + List<NavigateNode> neighbourNodes = this.getNeighborNodes(currentNode, mapMatrix, existNodes); for (NavigateNode node : neighbourNodes) { node.setCodeData(codeMatrix[node.getX()][node.getY()]); + boolean isEndNode = node.getX() == end.getX() && node.getY() == end.getY(); int weight = 0; @@ -171,11 +176,11 @@ } // 鑾峰彇鍥涘懆鑺傜偣 - private ArrayList<NavigateNode> getNeighborNodes(NavigateNode currentNode, int[][] mapMatrix, Set<NavigateNode> existNodes) { + private List<NavigateNode> getNeighborNodes(NavigateNode currentNode, int[][] mapMatrix, Set<NavigateNode> existNodes) { int x = currentNode.getX(); int y = currentNode.getY(); - ArrayList<NavigateNode> neighbourNodes = new ArrayList<>(); + List<NavigateNode> neighbourNodes = new CopyOnWriteArrayList<>(); List<NavigateNode> possibleNodes = Arrays.asList( new NavigateNode(x, y + 1), // right -- Gitblit v1.9.1