2012-02-22 34 views
1

我正在创建一个A Star搜索算法来解决8个拼图板,并且我已经获得了ArrayList中列出的所有Board对象类。我的问题是我需要在每个Board对象中运行方法,以便检查他们是否已达到目标,获取板信息和其他类似的功能。在ArrayList中运行对象的方法

问题是我经过几个小时的互联网搜索后才找到解决这个问题的方法,我尝试使用迭代器来完成这个工作,看起来像正确的方向,但我无法得到它的工作但我对他们没有任何经验。

任何帮助将有很大的帮助。

public class Solve8Puzzle { 
     ArrayList startNode; 
     ArrayList nodes; 
     public Solve8Puzzle() { 
      startNode = new ArrayList(); 
      nodes = new ArrayList(); 
     } 
     public boolean checkGoalNodes() { 
      while(currently selected node has next) { 
       run current node goal check 
      } 
     } 
    } 
+1

什么是存储在'startNode'和'nodes'? – 2012-02-22 11:31:55

+0

这是一项家庭作业吗?如果是这样,请标记为这样。 – raveturned 2012-02-22 11:31:56

+0

你可以发布你使用'Iterator'的代码吗?它编译失败了吗? – hmjd 2012-02-22 11:31:57

回答

4
List<StartNode> startNode = new ArrayList<StartNode>(); 

....................... 


for (StarNode node : starNodes) { 
    // do what you want with the node 
} 

其他可能性

for (Iterator<StarNode> it = starNodes.iterator(); it.hasNext();) { 
    StarNode node = it.next(); 
    // do what you want with the node 
} 
+0

谢谢,如何使用和正确格式化ArrayList并使用迭代器 – Gerak 2012-02-22 11:53:04

相关问题