ejemplo 11.7 del libro de certificacion de java tb esta bueno :P
esto me recuerda a la progamacion tallarin y lo que dijsktra y knuth (en menor grado, ver documento dele) han luchado de sacar el goto...
el libro de certification java que estoy leyendo dice que remove siempre usarlo con el patron implementado en java.util Iterator, asi siempre borra el ultimo next() o previous() y se evita este tipo de problemas.
import java.util.ArrayList;
import java.util.List;
public class Listas {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//BUEN EJEMPLO de como no remover.
List lis = new ArrayList();
for(int i=0; i<6; i++){ lis.add(i, ""+i); } System.out.println("inicio"); for(int i=0; i<6; i++) { System.out.println(i+"="+lis.get(i)); } System.out.println("sacamos y no sale el 4!"); for(int i=0; i
if(i==3){
lis.remove(i);
}else{
System.out.println(i+"="+lis.get(i));
}
}
System.out.println("final");
for(int i=0; i
System.out.println(i+"="+lis.get(i));
}
}
}
------------------------------------------------------------------------------------------
Segundo ejemplo del libro de certificacion:
11.7 |
What will be the output from the following program?
import java.util.*; public class Iterate { public static void main(String[] args) { List l = new ArrayList(); l.add("A"); l.add("B"); l.add("C"); l.add("D"); l.add("E"); ListIterator i = l.listIterator(); i.next(); i.next(); i.next(); i.next(); i.remove(); i.previous(); i.previous(); i.remove(); System.out.println(l); }; };
Select the one correct answer.
|
11.7 |
(b)
The remove() method removes the last element returned by either next() or previous(). The four next() calls return A, B, C, and D. D is subsequently removed. The two previous() calls return C and B. B is subsequently removed.
|