簡體   English   中英

在Java中從向量添加不同對象的最優雅方法

[英]Most elegant way to add a different object from vector in Java

我有一個包含x的向量。 將列表的值作為Object[]並在其末尾添加y元素的最優雅方法是什么?

xy不是同一類。

顯而易見的解決方案是使用Vector + 1的大小創建一個新的Object[] 。然后對其進行迭代並添加每個x ,最后添加y

也,

Object[] objectArray = vector.toArray();

將使objectArray縮小1。

Object[] result = new Object[vector.size() + 1];
result = vector.toArray(result);
result[result.length - 1] = y;

該解決方案不需要臨時矢量,也不需要修改原始矢量。

Vector vector= new Vector();
vector.add(x);

Vector temp = new Vector(vector);
temp.add(y);
Object[] objectArray = temp.toArray();

(如果我理解正確的Q ...)

vector.add(myY);
Object[] arr = vector.toArray();
vector.remove(vector.size()-1);

如果您不希望出現多線程情況,則必須在vector上進行同步:

  synchronized (vector) {
    vector.add(myY);
    Object[] arr = vector.toArray();
    vector.remove(vector.size()-1);
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM