|
Вопрос # 6 337/ вопрос решён / |
|
Здравствуйте, уважаемые эксперты!
Пишу сейчас на яве
Писал-писал, а как добавить элемент в массив не придумал.
Неважно какой тип массива, он не стандартный.
 |
Вопрос задал: Адмирал (статус: Посетитель)
Вопрос отправлен: 17 декабря 2012, 15:53
Состояние вопроса: решён, ответов: 2.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, Адмирал!
А никак. Нужно делать новый массив, на единичку больше, потом с помощью arraycopy копировать старый и дописывать новый элемент на его место. А так, пользуются классами ArrayList (без внутренней синхронизации)/Vector(с внутренней синхронизацией) и не омрачают смою голову ненужными мыслями. А в этих классах есть все, что нужно.
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 17 декабря 2012, 16:03
|
Ответ #2. Отвечает эксперт: DNK
Здравствуйте, Адмирал!
Только создавать новый массив и копировать в него старые элементы.
private Object[] arr;
public addObject(Object obj) {
Object[] tmp = new Object[arr.length + 1];
System.arraycopy(arr, 0, tmp, 0, arr.length);
tmp[arr.length] = obj;
arr = tmp;
}
Джавы под рукой нет, проверить не могу. Но лучший способ - это использовать коллекции, например, ArrayList и не париться.
 |
Ответ отправил: DNK (статус: Студент)
Время отправки: 17 декабря 2012, 16:10
|
Мини-форум вопроса
Всего сообщений: 0.
18 марта 2013, 21:30: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|