Bueno, te lo voy a dar mascado :D. Este es un ejemplo de cómo utilizar colecciones, he incluido el enunciado del ejercicio y añadido algunos comentarios aclaratorios (o eso espero :D).
/*Crear un Dictionary que contenga como llave los 10 primeros numeros y como valor nombres de personas,
se deben pedir por teclado. Se pide mostrar el contenido del Dictionary, mostrar los elementos pares,
limpiar la coleccion y mostrarlo por pantalla.*/
import java.io.*;
import java.util.*;
class dicctionary
{
//Declaramos un objeto Map para referenciar al del main() y poder trabajar con el en la clase.
Map<Integer, String> oDic ;
dicctionary(Map dic)
{
oDic=dic;
introDatos();
recorrer();
recorrePares();
limpiar();
}
void introDatos ()
{
try
{ BufferedReader obj= new BufferedReader(new InputStreamReader(System.in));
for (int i= 0;i<10 ; i++)
{
System.out.println("Introduzca un nombre: ");
String nom = obj.readLine();
// dic le pasamos la key y el valor
oDic.put(i+1, nom);
}
}
catch(IOException e)
{
System.out.println (e.getMessage());
}
}
void recorrer()
{
//con oDic.values().iterator() devolvemos un iterador de la coleccion de valores con el cual
//podremos recorrer los elementos.
System.out.println("La coleccion contiene " + oDic.size() + " elementos.");
for (Iterator it = oDic.values().iterator(); it.hasNext(); )
{
System.out.println(it.next());
}
}
void recorrePares()
{
//ahora obtenemos el iterador de la coleccion de keys de la coleccion.
System.out.println("Mostrando elementos pares...");
for (Iterator it = oDic.keySet().iterator(); it.hasNext(); )
{
int k=(Integer)it.next();
if ((k%2)==0)
{
System.out.println("id: " + k + "\tvalor: " + oDic.get(k));
}
}
}
void limpiar ()
{
System.out.println("Limpiando la coleccion...");
oDic.clear();
if (oDic.isEmpty())
{
System.out.println("ta vacio");
}
else
{
System.out.println(" NOO ta vacio");
}
}
public static void main(String[] args)
{
/*Declaramos un objeto Map, para ello debemos indicarle el tipo de dato que seran tanto la llave
como el valor. Utilizamos HashMap para instanciar el objeto Map porque ésta última es una clase
abstracta, además permite realizar comparaciones lógicas*/
Map<Integer, String> dic = new HashMap<Integer, String>();
new dicctionary(dic);
}
}