我有一個向量包含x
。將Object[]
作爲列表的值,並在其末尾添加y
元素的最優雅方式是什麼?最優雅的方式來添加從Java中的矢量不同的對象
x
和y
不是同一類左右。
明顯的解決方案將是使一個新的Object[]
用的Vector
+ 1的大小。然後在其上進行迭代,並添加每個x
,然後在末尾添加y
。
此外,
Object[] objectArray = vector.toArray();
會由1
我有一個向量包含x
。將Object[]
作爲列表的值,並在其末尾添加y
元素的最優雅方式是什麼?最優雅的方式來添加從Java中的矢量不同的對象
x
和y
不是同一類左右。
明顯的解決方案將是使一個新的Object[]
用的Vector
+ 1的大小。然後在其上進行迭代,並添加每個x
,然後在末尾添加y
。
此外,
Object[] objectArray = vector.toArray();
會由1
Vector vector= new Vector();
vector.add(x);
Vector temp = new Vector(vector);
temp.add(y);
Object[] objectArray = temp.toArray();
使objectArray
收縮(如果我理解正確的將q ...)
vector.add(myY);
Object[] arr = vector.toArray();
vector.remove(vector.size()-1);
而且你必須如果您不想在任何情況下發生任何意外情況,請在矢量上同步:
synchronized (vector) {
vector.add(myY);
Object[] arr = vector.toArray();
vector.remove(vector.size()-1);
}
Object[] result = new Object[vector.size() + 1];
result = vector.toArray(result);
result[result.length - 1] = y;
這種解決方案並不需要一個臨時矢量,而不會修改原始載體。
你可以通過提供一個完整的代碼片段來說明這一點。它非常容易混淆,我有2個問題給你1>我沒有看到在向量中的任何地方添加了'x',就像指出的那樣。做這個部分以及'作爲一個Object []'獲得列表值的最優雅的方式'。您能提供完整的功能代碼片段嗎? – Deepak 2011-03-10 11:41:41
@Deepak:代碼片段已完成。第一行將所有元素(X實例)複製到新的臨時向量中。第二行在臨時向量的末尾添加一個y,第三行將包含x和y的臨時向量轉換爲數組。因此製作了兩個陣列副本,我發現它們並不那麼優雅,但是YMMV。 – 2011-03-10 12:01:14
什麼是'矢量'在'矢量溫度=新的矢量(矢量);'你能告訴我從哪裏'(矢量)'越來越人口。 – Deepak 2011-03-10 13:36:51