java

Ejercicios de Java. Collections

Ejercicio 1

Ejercicio 1. Java HashMaps.

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

package Ejercicio;
import java.util.*;
public class colegio {

Map alumno = new HashMap();

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

Ejercicio 2. Java List.

Crea una lista que contenga los días de la semana.

Pista:
List listDias = new ArrayList();

Inserta en la posición 4 el elemento “Juernes”.

Copia esa lista a otra llamada listaDos.
Pista:
List listaDos = new ArrayList<>(listaUno);

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

package javaList;
import java.util.*;
public class ejercicio2 {

public static void main(String[] args) {

ArrayList listDias = new 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 listaDos = new ArrayList(listDias);

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 it = listDias.iterator();
while(it.hasNext()){
System.out.println(it.next());
}

if (listDias.contains(“Lunes”)){
System.out.println(“Si existe Lunes”);
}

Iterator it2 = listDias.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

Ejercicio 3. Java Sets.
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

package ejercicio3;
import java.util.*;

public class JavaSets {

HashSet FCBarcelona = new HashSet<>();
public void add(){
FCBarcelona.add(“Jordi Alba”);
FCBarcelona.add(“Pique”);
FCBarcelona.add(“Busquets”);
FCBarcelona.add(“Iniesta”);
FCBarcelona.add(“Messi”);
}

HashSet jugadores = new HashSet<>();
public void add2(){
jugadores.add(“Pique”);
jugadores.add(“Busquets”);
}

public void ShowBarcelona(){
int i = 0;
Iterator it = FCBarcelona.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 it = jugadores.iterator();
Iterator it2 = FCBarcelona.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 it = jugadores.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();
}
}