У меня есть список объектов, над которыми мне нужно работать.Java - как вставить в окончательный список
В зависимости от объекта операция приведет к появлению нового объекта, который должен быть размещен в порядке создания JUST перед объектом, на котором был запущен.
В нормальных условиях я бы создал новый список, а затем просто переключил списки. Это, однако, невозможно в этом конкретном случае, потому что список является окончательным.
Есть ли более элегантное решение, чем создать новый список, переписать существующий список и добавить столько элементов, сколько осталось, когда все существующие элементы старого списка будут перезаписаны?
UPDATE: psuedocode
Я ищу что-то вроде этого:
class Some{ //provided
public final List<Thing> finalList = ...
}
class MyClass{
void handle(Thing t, List<Thing> newThings){
//do something to t
//probably create and add new instances of Thing to newThings
}
void handle(Some s){
for(Thing t : s.finalList){
List<Thing> newThings = new ArrayList<>();
handle(t,newThings);
for(Thing nt : newThings){
//insert nt into s.finalList s.th. it is immediately precedes t
}
}
}
пожалуйста обеспечивают некоторый код – Cootri
Укажите код, как сказал Cootri – Jone
В зависимости от реализации списка, 'добавить (INT индекс, E элемент)' может быть вариант. – laune