2012-03-04 54 views
3

自從我的數據結構類以來,我一直在努力弄清楚這一點。我知道,如果我想要得到的Object[]ArrayList的價值,我可以使用在ArrayList中設置值<Object[]>

nameOfArrayList.get(row)[col]; 

,但我似乎無法弄清楚,或在網上找到,如何設置一個值上。

我將不得不創建一個新的對象,並將其設置爲nameOfArrayList.get(row),改變值,然後使用

nameOfArrayList.set(row,Object[])? 

回答

6

試試這個:

nameOfArray.get(row)[col] = ...; 

這在指數col設置新值nameOfArrayArrayList中索引row的數組。

如果你想提出一個新的數組爲nameOfArrayrow位置,試試這個:

nameOfArray.set(row, new Object[]); 

這將創建對象的一個​​新的數組和nameOfArray把它下指數row。見ArrayList.set()

+0

哇,這對我來說很奇怪。我不認爲訪問器方法實際上是一個增變器。我不敢相信這很簡單。我明白了它現在的意義,實際上它是通過nameOfArray.get()獲取Object數組,而包含int的括號與使用Object [int] =命令相同。謝謝! – Geoff 2012-03-04 20:21:00

+0

@Geoff - 'get'只是返回數組,一個只讀操作。你在這之後對陣列做什麼是你的事情。 :)上面相當於Object [] arr = nameOfArray.get(row); arr [col] = ...;' – 2012-03-04 21:01:17

0

這是一個簡單的基本運行。

如果你想在末尾添加對象你可以使用類似

nameOfArray.add(<object array>)

不然,如果你想要在指定索引像上述

nameOfArray.set(index, <object array>)

Reference

<object array>.get(row)[col] = change value

+0

設置整行。我認爲OP想要設置一個特定的行,列。 – DNA 2012-03-04 20:21:15

+0

謝謝。編輯它。 – 2012-03-04 20:25:48

+0

追加的第一行應該是'nameOfArray.add()'而不是'set'。後者總是需要一個索引。 – 2012-03-04 21:03:13

相關問題