| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Objects; |
| | | import java.util.Optional; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * A*寻路算法Node节点 |
| | |
| | | ); |
| | | } |
| | | |
| | | |
| | | private void print() { |
| | | AStarNavigateNode finishNode = this.clone(); |
| | | ArrayList<AStarNavigateNode> navigateNodes = new ArrayList<>(); |
| | | |
| | | while (finishNode != null) { |
| | | navigateNodes.add(finishNode); |
| | | System.out.println("node:" + finishNode.getCodeData() + ", g:" + finishNode.getG() + ", h:" + finishNode.getH() + ", f:" + finishNode.getF()); |
| | | finishNode = finishNode.getParent(); |
| | | } |
| | | |
| | | Collections.reverse(navigateNodes); |
| | | |
| | | List<String> navigatePath = navigateNodes.stream().map(AStarNavigateNode::getCodeData).collect(Collectors.toList()); |
| | | System.out.println(navigatePath.toString()); |
| | | } |
| | | |
| | | } |