Самый элегантный способ добавить другой объект из вектора в Java - PullRequest
2 голосов
/ 10 марта 2011

У меня есть Вектор, содержащий x.Какой самый элегантный способ получить значения списка в виде Object[] и добавить в его конец элемент y?

x и y не принадлежат к одному и тому же классуили около того.

Очевидным решением было бы создать новый Object[] с размером Vector + 1. Затем выполнить итерацию по нему и добавить каждый x, а затем добавить y вконец.

Кроме того,

Object[] objectArray = vector.toArray();

уменьшит objectArray на 1.

Ответы [ 3 ]

3 голосов
/ 10 марта 2011
Object[] result = new Object[vector.size() + 1];
result = vector.toArray(result);
result[result.length - 1] = y;

Это решение не требует временного вектора и не изменяет исходный вектор.

1 голос
/ 10 марта 2011
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);
  }
1 голос
/ 10 марта 2011
Vector vector= new Vector();
vector.add(x);

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

(Если я правильно понял вопрос ...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...