Ejercicios de Java. Collections
Ejercicio 1
Crea una clase colegio que almacene la nacionalidad de los alumnos de un colegio. La clase tendrá los siguientes métodos.
addAlumno(String nacionalidad)
añade la nacionalidad de un nuevo alumno
showAll()
Muestra las distintas nacionalidades y el número de alumnos que existen por nacionalidad.
pista:
for(String key: nacionalidades.keySet())
System.out.println(key + » – » + nacionalidades.get(key));
showNacionalidad(String nacionalidad)
Muestra la nacionalidad y el número de alumnos de esa nacionalidad
cuantos()
Muestra cuántas nacionalidades diferentes existen en el colegio.
borra()
Elimina los datos insertados.
- Crea también una clase para testear la clase anterior.
- Crea también una clase exceptionVacio del tipo Exception que será lanzada en el caso que se llame al método addAlumno(String nacionalidad) con un parámetro nacionalidad vacío.
Nota: Las nacionalidades se almacenan en mayúsculas.
Solución al ejercicio 1
import java.util.*;
public class colegio {
Map
public void addAlumno(String nac){
if (alumno.containsKey(nac)){
Integer i = alumno.get(nac);
alumno.remove(nac);
alumno.put(nac, i++);
}else{
alumno.put(nac,1);
}
}
public void showAll(){
Iterator it = alumno.keySet().iterator();
while (it.hasNext()){
Integer key = (Integer) it.next();
System.out.println(«Numero de alumno: «+key+» Nacionalidad alumno: «+alumno.get(key));
}}
public void showNacionalidad(){
for (String k :alumno.keySet()){
System.out.println(k+»->»+alumno.get(k));
}
}
public int cuantos(){
return alumno.size();
}
public void borrar(String nac){
alumno.remove(nac);
}
}
Ejercicio 2
Crea una lista que contenga los días de la semana.
Pista:
List
Inserta en la posición 4 el elemento «Juernes».
Copia esa lista a otra llamada listaDos.
Pista:
List
Añade a listDias el contenido de listaDos.
Muestra el contenido de las posiciones 3 y 4 de la lista original.
Muestra el primer elemento y el último de la lista original.
Pista: getFirst() y getLast()
Elimina el elemento que contenga «Juernes» de la lista y comprueba si elimina algo o no.
Pista:
if (listaDias.remove(«Juernes»)) {
System.out.println(«Borrado»);
} else {
System.out.println(«No existe»);
}
Crea un iterador y muestra uno a uno los valores de la lista original.
Busca si existe en la lista un elemento que se denomine «Lunes».
Pista: listaDias.contains(«Lunes»)
Busca si existe en la lista un elemento que se denomine «Lunes». No importa si está en mayúscula o minúscula.
Ordena la lista y muestra su contenido.
Pista: método sort().
Borra todos los elementos de la lista.
Pista: clear()
Solución al ejercicio 2
import java.util.*;
public class ejercicio2 {
public static void main(String[] args) {
ArrayList
listDias.add(«Lunes»);
listDias.add(«Martes»);
listDias.add(«Miercoles»);
listDias.add(«Jueves»);
listDias.add(«Viernes»);
listDias.add(«Sabado»);
listDias.add(«Domingo»);
listDias.add(4,»Juernes»);
ArrayList
listDias.addAll(listaDos);
System.out.println(listDias.get(3)+», «+listDias.get(4));
System.out.println(listDias.get(0)+», «+listDias.get(listDias.size()-1));
System.out.println(listDias);
listDias.remove(«Juernes»);
if(listDias.remove(«Juernes»)){
System.out.println(«Borrado»);
}else{
System.out.println(«No existe»);
}
Iterator
while(it.hasNext()){
System.out.println(it.next());
}
if (listDias.contains(«Lunes»)){
System.out.println(«Si existe Lunes»);
}
Iterator
while(it2.hasNext()){
if(it2.next().toUpperCase()==»LUNES»){
System.out.println(«Si existe»);
}
}
Collections.sort(listDias);
System.out.println(listDias);
listDias.clear();
System.out.println(listDias);
}
}
Ejercicio 3
Crea un conjunto al que se le va a llamar jugadores. Inserta en el conjunto los jugadores del FC Barcelona.
Realiza un bucle sobre los jugadores del conjunto y muestra sus nombres.
Pista:
for (String nombre : jugadores) {
System.out.println(nombre);
}
Consulta si en el conjunto existe el jugador «Neymar JR». Avisa si existe o no.
Crea un segundo conjunto jugadores2 con los jugadores «Piqué» y «Busquets».
Consulta si todos los elementos de jugadores2 existen en jugadores.
Realiza una unión de los conjuntos jugadores y jugadores2.
Elimina todos los jugadores del conjunto jugadores2 y muestra el número de jugadores que tiene el conjunto jugadores2 (debería ahora ser cero).
Solución al ejercicio 3
import java.util.*;
public class JavaSets {
HashSet
public void add(){
FCBarcelona.add(«Jordi Alba»);
FCBarcelona.add(«Pique»);
FCBarcelona.add(«Busquets»);
FCBarcelona.add(«Iniesta»);
FCBarcelona.add(«Messi»);
}
HashSet
public void add2(){
jugadores.add(«Pique»);
jugadores.add(«Busquets»);
}
public void ShowBarcelona(){
int i = 0;
Iterator
while(it.hasNext()){
System.out.print(it.next());
if(FCBarcelona.size()-1 > i){
System.out.print(«, «);
i++;
}
}
System.out.println();
}
public void contains(){
if(FCBarcelona.contains(«Neymar Jr»)){
System.out.println(«Neymar Si está en el conjunto»);
}else{
System.out.println(«Neymar No está en el conjunto»);
}
}
public void jugadoresEnBarcelona(){
Iterator
Iterator
while(it.hasNext()){
if(FCBarcelona.contains(it2.next())){
System.out.println(it.next()+» está en el conjunto»);
}else{
System.out.println(it.next()+» no está en el conjunto»);
}
}
}
public void unir(){
FCBarcelona.addAll(jugadores);
}
public void borrar(){
jugadores.removeAll(jugadores);
System.out.println(«Jugadores Borrados»);
}
public void ShowJugadores(){
Iterator
int i=0;
if(it.hasNext()==false){
System.out.println(«No hay jugadores»);
}else{
while(it.hasNext()){
System.out.print(it.next());if(jugadores.size()-1 > i){
System.out.print(«, «);
i++;
}
}System.out.println();
}
}
}
package ejercicio3;
public class Test {
public static void main(String[] args) {
JavaSets Barcelona = new JavaSets();
Barcelona.add();
Barcelona.contains();
Barcelona.ShowBarcelona();
Barcelona.add2();
Barcelona.jugadoresEnBarcelona();
Barcelona.ShowJugadores();
Barcelona.unir();
Barcelona.borrar();
Barcelona.ShowJugadores();
Barcelona.ShowBarcelona();
}
}