Tienes un problema de concepto con los iteradores.
Cada vez que realizas la llamada a next, el apuntador del iterador avanza una posición. Por eso, antes de cada llamada a next, hay que realizar una llamada a hasNext para ver si tiene elementos. El problema es que tu estás realizando la iteración mal, llamada a next por cada empleado del ArrayList emp.
Código Java:
Ver originalpublic static ArrayList<Serviceline> servicelines= ISM.getServicelines();//ya esta calculado
public static ArrayList<Empleado> emp = new ArrayList<Empleado>();//ya fue calculado previamente
public static void main
(String[] args
) {
for(Serviceline i:servicelines){
//Usa el iterador con genéricos, te evitarás tener que realizar la conversión
Iterator<String> it= i.getemp().iterator();
while(it.hasNext()){
for(Empleado y:emp){
if(valor.equals(y.getNombre())) {
String a
= valor.
concat("agregar"); i.getemp().set(i.getemp().indexOf(y.getNombre()),a);
break;
}
}
}
}
for(Serviceline i:servicelines)
{
System.
out.
println(i.
getsl()); System.
out.
println(i.
getemp()); System.
out.
println(i.
getcli()); System.
out.
println(i.
getHorasEmpleado()); System.
out.
println(i.
getHorasCliente()); System.
out.
println(i.
getHorasEmpleadoclaim()); System.
out.
println(i.
getHorasClienteclaim());
}
}
Esto mismo puedes hacer solo con el bucle foreach (como usas en los otros)
Código Java:
Ver originalfor(Serviceline i:servicelines){
for(String valor
: i.
getemp()) for(Empleado y:emp){
if(valor.equals(y.getNombre())) {
String a
= valor.
concat("agregar"); i.getemp().set(i.getemp().indexOf(y.getNombre()),a);
break;
}
}
}
}
for(Serviceline i:servicelines)
{
System.
out.
println(i.
getsl()); System.
out.
println(i.
getemp()); System.
out.
println(i.
getcli()); System.
out.
println(i.
getHorasEmpleado()); System.
out.
println(i.
getHorasCliente()); System.
out.
println(i.
getHorasEmpleadoclaim()); System.
out.
println(i.
getHorasClienteclaim());
}
}
Por supuesto, este código podría mejorarse mucho usando algunos de los métodos que provee la clase ArrayList y mejorando el uso de algunas variables, pero sólo he querido mostrarte como funcionaría.
Saludos