這是一個非常簡單的任務,但我覺得我忽略了一些東西。我有多個對象,我試圖將其添加到一個ArrayList中,並且每個對象都有一個String形式的標識名稱。我需要能夠通過調用字符串名稱來查找(交互)ArrayList中的對象。所以我試過這個:Java ArrayList:使用字符串名稱添加對象
在我的項目類中我有: private String itemName;
public Item(String name)
{
itemName = name;
}
所以我可以給它一個名字供用戶使用。
然後在我的類與對象進行交互,我創建了一個ArrayList:
private ArrayList<Item> items = new ArrayList<Item>();
我第一個對象添加到ArrayList由它的實際對象的名字,但我需要能夠使用它的字符串名稱與它交互,所以我試過這個:
public void removeItem(String itemName)
{
for (int i = 0; i < items.size(); i++)
{
if (items.get(i).toString() == itemName)
{
items.remove(i);
}
break;
}
}
但它並沒有刪除該項目。如果所有這些都令人困惑,實質上我試圖創建一個OBJECT,我可以給出一個STRING名稱(就像我對上面的項目所做的那樣),然後有能力將OBJECT添加到一個ArrayList中,最後是能夠通過調用STRING名稱來刪除或獲取ArrayList中的OBJECTS或對其進行操作。我知道我需要遍歷ArrayList,但我實際上無法獲得該對象。
感謝您的任何幫助。
感謝您的幫助。雖然我更喜歡使用HashMap,就像你所建議的那樣,但是對於這一小部分代碼的要求是必須使用ArrayList。 – 2013-02-12 19:08:12
@JordanPlahn。抱歉。讀'while'爲'why'錯誤。 – 2013-02-12 19:10:29