802
Capítulo 19 Colecciones
En las líneas 17 y 18 se crean los objetos
LinkedList
llamados
lista1
y
lista2
de tipo
String
. Observe
que
LinkedList
es una clase genérica que tiene un parámetro de tipo, para el cual especifi camos el argumento
de tipo
String
en este ejemplo. En las líneas 21 a 26 se hace una llamada al método
add
de
List
para anexar
elementos de los arreglos
colores
y
colores2
al fi nal de
lista1
y
lista2
, respectivamente.
En la línea 28 se hace una llamada al método
addAll
de
List
para anexar todos los elementos de
lista2
al
fi nal de
lista1
. En la línea 29 se establece
lista2
en
null
, de manera que el objeto
LinkedList
al que hacía
referencia
lista2
pueda marcarse para la recolección de basura. En la línea 30 se hace una llamada al método
imprimirLista
(líneas 42 a 50) para mostrar el contenido de
lista1
. En la línea 32 se hace una llamada al
método
convertirCadenaAMayusculas
(líneas 53 a 62) para convertir cada elemento
String
a mayúsculas,
y después en la línea 33 se hace una llamada nuevamente a
imprimirLista
para mostrar los objetos
String
modifi cados. En la línea 36 se hace una llamada al método
eliminarElementos
(líneas 65 a 68) para eliminar
los elementos empezando desde el índice
4
hasta, pero no incluyendo, el índice
7
de la lista. En la línea 38 se hace
una llamada al método
imprimirListaInversa
(líneas 71 a 80) para imprimir la lista en orden inverso.
El método
convertirCadenasAMayusculas
(líneas 53 a 62) cambia los elementos
String
en minúsculas
del argumento
List
por objetos
String
en mayúsculas. En la línea 55 se hace una llamada al método
list-
60
iterador.set( color.toUpperCase() );
// convierte a mayúsculas
61
}
// fin de while
62
}
// fin del método convertirCadenasAMayusculas
63
64
// obtiene sublista y utiliza el método clear para eliminar los elementos de la misma
65
private void
eliminarElementos( List< String > lista, int inicio, int fin )
66
{
67
lista.subList( inicio, fin ).clear();
// elimina los elementos
68
}
// fin del método eliminarElementos
69
70
// imprime la lista inversa
71
private void
imprimirListaInversa( List< String > lista )
72
{
73
ListIterator< String > iterador = lista.listIterator( lista.size() );
74
75
System.out.println(
"\nLista inversa:"
);
76
77
// imprime la lista en orden inverso
78
while
( iterador.hasPrevious() )
79
System.out.printf(
"%s "
, iterador.previous() );
80
}
// fin del método imprimirListaInversa
81
82
public static void
main( String args[] )
83
{
84
new
PruebaList();
85
}
// fin de main
86
}
// fin de la clase PruebaList
Figura 19.4
| Objetos
List
y
ListIterator
. (Parte 2 de 2).
lista:
negro amarillo verde azul violeta plateado dorado blanco cafe azul gris plateado
lista:
NEGRO AMARILLO VERDE AZUL VIOLETA PLATEADO DORADO BLANCO CAFE AZUL GRIS PLATEADO
Eliminando elementos 4 a 6...
lista:
NEGRO AMARILLO VERDE AZUL BLANCO CAFE AZUL GRIS PLATEADO
Lista inversa:
PLATEADO GRIS AZUL CAFE BLANCO AZUL VERDE AMARILLO NEGRO
19_MAQ_CAP_19_DEITEL.indd802
4/19/081:31:21AM