¿Es posible encontrar el índice presente en un bucle forzado mejorado? ¿Si es así, cómo?¿Es posible encontrar el índice presente en un bucle for mejorado?
Soy consciente de que podemos verificarlo con una variable adicional. Pero hay alguna otra manera.
public boolean cancelTicket(Flight f, Customer c) {
List<BookingDetails> l = c.getBooking();
if (l.size() < 0) {
return false;
} else {
for (BookingDetails bd : l) {
if(bd.getFlight()==f){
l.remove() // Index here..
}
}
}
}
Esto no tiene ningún sentido: 'if (list.size() <0)'. ¿Tal vez quisiste decir '==' en su lugar? –
Compruebe esto. http://stackoverflow.com/questions/1196586/calling-remove-in-foreach-loop-in-java – Vaandu
Incluso si tenía el índice, intentando eliminar el elemento de la lista de una forma mejorada para loop causaría una ConcurrentModificationException. Use un iterador como lo sugiere @aioobe –