Ejercicios de colecciones
Ejercicios realizados en clase
Descarga de ejercicios: ficheros_unidad8
Manejo de ArrayList
/**
* Ejemplo de uso de la clase ArrayList
*
* @author Luis José Sánchez
*/
import java.util.ArrayList;
public class EjemploArrayList04 {
public static void main(String[] args) {
ArrayList<String> a = new ArrayList<String>();
// a[0] = "rojo";
a.add("rojo");
a.add("verde");
a.add("azul");
a.add("blanco");
a.add("amarillo");
a.add("blanco");
a.add(2, "negro");
//System.out.println("Contenido de la lista: ");
//for (int i = 0; i < a.size(); i ++) {
// System.out.println(a.get(i));
//}
for (String color : a) {
System.out.println(color);
}
a.remove("blanco");
if (a.contains("blanco")) {
posicion = a.indexOf("blanco");
a.remove(posicion);
}
if (a.contains("blanco")) {
System.out.println("El blanco está en la lista de colores, posición: " + a.indexOf("blanco"));
}
a.remove("blanco");
System.out.println("Contenido de la lista después de quitar la primera ocurrencia del color blanco: ");
for (String color : a) {
System.out.println(color);
}
a.remove(2);
System.out.println("Contenido de la lista después de quitar el elemento de la posición 2: ");
for (String color : a) {
System.out.println(color);
}
}
}
Clase Gato con la interface Comparable
/**
* Definición de la clase Gato
*
* @author
*/
public class Gato implements Comparable<Gato> {
private String nombre;
private String color;
private String raza;
public Gato(String nombre, String color, String raza) {
this.nombre = nombre;
this.color = color;
this.raza = raza;
}
public String getNombre() {
return nombre;
}
public String getRaza() {
return raza;
}
public String toString() {
return "Nombre: " + this.nombre + "\tColor: " + this.color + "\tRaza: " + this.raza;
}
@Override
public int compareTo(Gato g) {
// Comparar por nombre alfabéticamente de forma descendente, a - z
//return this.nombre.toLowerCase().compareTo(g.getNombre().toLowerCase());
// Comparar por raza alfabéticamente de forma descendente, a - z
// return this.raza.toLowerCase().compareTo(g.getRaza().toLowerCase());
// Comparar por raza alfabéticamente de forma ascendente, z - a
return g.getRaza().toLowerCase().compareTo(this.raza.toLowerCase());
}
public boolean equals(Gato g) {
return (this.nombre).equals(g.getNombre());
}
}
Ordenar un ArrayList
/**
* Uso de un ArrayList de objetos
*
* @author Luis José Sánchez
*/
import java.util.ArrayList;
import java.util.Collections;
public class EjemploArrayList07 {
public static void main(String[] args) {
ArrayList<Gato> g = new ArrayList<Gato>();
Gato gato;
gato = new Gato("Garfield", "naranja", "mestizo");
g.add(gato);
g.add(new Gato("pepe", "gris", "angora"));
g.add(new Gato("Mauri", "blanco", "manx"));
g.add(new Gato("Ulises", "marrón", "persa"));
System.out.println("\nDatos de los gatos:\n");
for (Gato gatoAux : g) {
System.out.println(gatoAux + "\n");
}
Collections.sort(g);
System.out.println("\nDatos de los gatos ordenados por nombre:");
for (Gato gatoAux : g) {
System.out.println(gatoAux + "\n");
}
}
}
Ordenar un ArrayList usando Comparator
Clase PartidoFutbol
//package ArrayList_Objetos;
public class PartidoFutbol {
private String equipoLocal;
private String equipoVisitante;
private int golesLocal;
private int golesVisitante;
public String getEquipoLocal() {
return equipoLocal;
}
public void setEquipoLocal(String equipoLocal) {
this.equipoLocal = equipoLocal;
}
public String getEquipoVisitante() {
return equipoVisitante;
}
public void setEquipoVisitante(String equipoVisitante) {
this.equipoVisitante = equipoVisitante;
}
public int getGolesLocal() {
return golesLocal;
}
public void setGolesLocal(int golesLocal) {
this.golesLocal = golesLocal;
}
public int getGolesVisitante() {
return golesVisitante;
}
public void setGolesVisitante(int golesVisitante) {
this.golesVisitante = golesVisitante;
}
}
Fichero partidos
Ordenar el ArrayList
//package SortMain;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
public class SortArrayList {
private static ArrayList<Integer> arrayListInt = new ArrayList<>();
private static ArrayList<Persona> personas = new ArrayList<>();
public static void main(String args[]) {
// Guardo datos en el ArrayList
arrayListInt.add(3); arrayListInt.add(4);
arrayListInt.add(2); arrayListInt.add(6);
arrayListInt.add(5); arrayListInt.add(1);
arrayListInt.add(7);
// Imprimo el arrayList de Enteros desordenado
System.out.println("ArrayList desordenado: ");
printArrayListInt();
// Ordeno el ArrayList de menor a mayor y lo imprimo
System.out.println("\nArrayList ordenado de menor a mayor");
Collections.sort(arrayListInt);
printArrayListInt();
// Ordeno el ArrayList de mayor a menor y lo imprimo
System.out.println("\nArrayList ordenado de mayor a menor");
Comparator<Integer> comparador = Collections.reverseOrder();
Collections.sort(arrayListInt, comparador);
printArrayListInt();
// Guardo datos en el ArrayList de Objetos de la clase persona
personas.add(new Persona("Pepe", 28));
personas.add(new Persona("Juan", 32));
personas.add(new Persona("Paco", 40));
personas.add(new Persona("Lola", 20));
personas.add(new Persona("Jose", 28));
personas.add(new Persona("Dani", 24));
personas.add(new Persona("Sara", 36));
personas.add(new Persona("Susi", 24));
// Imprimo el ArrayList desordenado por edad de la clase persona
System.out.println("\nArrayList desordenada");
printArrayListPersona();
// Odeno el arrayList de menor a mayor por edad y lo imprimo
System.out.println("\nArrayList ordenado por edad de menor a mayor:");
Collections.sort(personas, new Comparator<Persona>() {
@Override
public int compare(Persona p1, Persona p2) {
return new Integer(p1.getEdad()).compareTo(new Integer(p2.getEdad()));
}
});
printArrayListPersona();
// Odeno el arrayList de mayor a menor por edad y lo imprimo
System.out.println("\nArrayList ordenado por edad de mayor a menor:");
Collections.sort(personas, new Comparator<Persona>() {
@Override
public int compare(Persona p1, Persona p2) {
// Aqui esta el truco, ahora comparamos p2 con p1 y no al reves como antes
return new Integer(p2.getEdad()).compareTo(new Integer(p1.getEdad()));
}
});
printArrayListPersona();
}
private static void printArrayListInt() {
Iterator<Integer> itrArrayList = arrayListInt.iterator();
int posicion = 1;
while (itrArrayList.hasNext()) {
System.out.println("Posicion(" + posicion + ") = " + itrArrayList.next());
posicion++;
}
}
private static void printArrayListPersona() {
Iterator<Persona> itrArrayList = personas.iterator();
int posicion = 1;
while (itrArrayList.hasNext()) {
System.out.println("Posicion(" + posicion + ") = " + itrArrayList.next().toString());
posicion++;
}
}
}
class Persona {
private String nombre;
private int edad;
public Persona() {
}
public Persona(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
@Override
public String toString() {
return this.getNombre() + " - " + this.getEdad();
}
}
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.