2011-03-30 134 views
1

我有一個ArrayList至極的符合對象至極有一個名字和一個值 這樣的ArrayList是:ArrayList中搜索值

name value 
A  1 
B  10 
C  23 
D  45 

你將如何循環ArrayList中尋找2名像C和d,並得到他們各自的價值觀:23和45.

+0

列表中有什麼樣的對象?您的「結構」對於我們這些人看不到您的代碼而言並不清楚。 – 2011-03-30 00:12:00

+1

您的名稱 - 值對存儲在您定義的對象中嗎? ArrayLists通常採用單一數據類型,例如'ArrayList '或'ArrayList ',除非你已經定義了某種同時具有實例變量的對象。您可能想調查一下'HashMap '集合類。 – Zkoh 2011-03-30 00:14:13

+0

是的,我的ArrayList是類型節點,它有幾個元素,但我只對名稱和值感興趣.. – cMinor 2011-03-30 00:29:28

回答

7

我假設你的意思是你有數組中有名稱和值的對象?

你可以做這樣的事情:

​​

但是你最好的選擇可能是創建字符串的一個HashMap價值:

Map<String, Integer> valueMap = new HashMap<String, Integer>(); 

然後,你可以簡單地調用

valueMap.get("A"); 

它將返回與A相關的值。

+0

這應該如何工作?對象沒有方法'getName()'。你必須創建一個子類並實現該方法。 – 2011-03-30 00:22:28

+0

嗯,對不起,我寫對象時,它應該是其他的東西。 – Dimitar 2011-03-30 00:25:39

+0

'Map valueMap = new HashMap ();'給我一個錯誤'int',如何聲明 – cMinor 2011-03-30 00:27:47

0
for (MyObj obj : list) { 
    // Here check if obj.getAAA() equals to "C" etc 
}