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.