簡體   English   中英

Java API是否具有表示層次結構的數據結構

[英]Does the Java API have a data structure to represent hierarchy

我有兩節課; one解釋命令,並將這些命令發送到另一個執行它們的類。 然后,我希望執行命令的類能夠將此執行的結果發送回解釋器類。 問題是這些結果本質上是分層的。

現在我在Java API中唯一能讓我這樣做的就是DOM。 我真的不想使用DOM,創建一個新文檔,然后將其中的一部分發送回另一個類; 它看起來像是一個大笨蛋。 還有什么我可以使用的嗎?

如果你可以創建一個由節點組成的類,你真的需要一個專門的樹數據結構嗎? 只需使用類中的對象(例如Result )作為結果,並為可能的子節點添加字段到Result 如果需要,字段也可以具有類型Result

您可以嘗試一些可用的數據結構,例如JDots http://sourceforge.net/projects/jdots/

JDots(Java動態對象樹軟件)是一個庫/框架,用於創建Java對象的動態樹,用於主動方法通信/傳播

您可以使用簡化的DOM抽象,使用更少的樣板代碼,如JDOM ......或者只是為了快速和臟一些嵌套的地圖?

[result:true, childResults:[result:true, childResults:[], result:false, childResults:[]]] 

在那里折騰一些遞歸把東西放在一起......鮑勃是你的叔叔。

編輯:

如果你需要在子結果中進行排序,你會想要在那里丟一個列表...這在Java中可能有點亂,但我已經在Groovy的土地上這么長時間才跳出來。列表和地圖的語法糖很容易(太容易了?)破壞這樣的東西......如果你能控制項目,你可能想看看一點Groovy :)

我認為你要找的是命令模式,而不是API調用。 我錯了。 由於DOM是xml / html生物,您是在談論Web應用程序嗎? 別的什么?

我認為不是關於java數據結構,而是關於你的問題的對應設計模式。

對於分層結構,我可以建議復合模式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM