2014-05-17 43 views
0

我是Java編程和哈希表的新手,我有一個問題,我需要幫助。比較一個哈希映射和數組

我有一個存儲對象的集合一個HashMap:

private HashMap <String, Turtle> turtles = new HashMap<String, Turtle>(); 

我也有形狀的集合,我已經加入到海龜類:

ArrayList<String> shapes = new ArrayList<String>(); 

什麼我想do是找到一種方法,通過傳遞String turtleNameString shapeName的參數,它將具有指定名稱的形狀對象添加到具有指定名稱的烏龜對象。

我不知道如何用ArrayList和Hashmap去解決這個問題。

+2

沒有形狀的物體。 'ArrayList'包含'String's。 –

+0

如果你不知道該怎麼做,請在這裏寫下sudo代碼來解釋你想要做什麼。 – vkg

+0

請給出一個你的「形狀對象」(它似乎只是字符串)的例子 – DNA

回答

1

當我明白你的問題,你需要做的是:

  1. 獲得在Map相應Turtle使用turtleName關鍵
  2. 獲取ListTurtle,並添加shapeNameList

它也可以用Java代碼翻譯:

public void addShapeNameToTurtle(String turtleName, String shapeName){ 
    turtles.get(turtleName).getList().add(shapeName); 
} 

其中getList()返回與當前Turtle實例關聯的shapes

一個首選的方法是將一個addShapeName方法添加到您的Turtle類(這將增加你的參數傳遞給ListString),然後按通話將被簡化爲turtles.get(turtleName).addShapeName(shapeName);

您也將有檢查映射是否存在於映射中,並且在獲取它時List不爲null。你

也應該閱讀這兩個類的Javadoc,擁有的可獲取方法的概述兩個類:

+0

對於遲來的答案道歉,但感謝你的幫助!這有助於我試圖實現的目標,對於我隱約地提出問題的含義感到抱歉;在未來,我會嘗試更具體! – user3648416