2012-03-04 84 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

相关问题