Это плохо сформулированный вопрос, и я думаю, что, как уже отмечали другие, достаточно просто вернуть новый список объектов. Но если вы действительно хотите обрабатывать их по одному во время цикла, вы можете использовать шаблон команды .
public interface Command {
void execute(NewType object);
}
Теперь в вашем методе вызова вы можете сделать следующее:
public void doSomething() {
processList(myList, new Command() {
void execute(NewType object) {
// Do whatever you want with this object
}
});
}
И, в методе, который фактически будет проходить через список:
public void processList(Iterable<OldType> values, Command command) {
for(OldType v : values) {
NewType newType = new NewType(v);
command.execute(newType);
}
}