feat(ch 6): solved ex block 1

This commit is contained in:
Rafa Muñoz
2025-01-14 12:26:37 +01:00
parent ec79e13264
commit 366d9f0855
6 changed files with 243 additions and 27 deletions

View File

@@ -10,6 +10,7 @@ public class Ejemplo01_ListasConInteger {
// Declarado la lista de Integers
List<Integer> numeros = new ArrayList<Integer>();
// Inicializar con 10 elementos de tipo Integer
for (int i = 0; i < 10; i++) {
// numeros.add(new Integer(100 + i)); // Deprecado
@@ -21,10 +22,10 @@ public class Ejemplo01_ListasConInteger {
numeros.add(1000);
// Elimino un elemento
numeros.remove(2);
numeros.remove(Integer.valueOf(102));
// Inserto un elemento en una posición concreta
numeros.add(1, 5000);
numeros.add(2, 5000);
// Crear una nueva lista
List<Integer> numerosNegativos = new ArrayList<Integer>();

View File

@@ -1,6 +1,7 @@
package tutorialJava.capitulo6_ColeccionesDeDatos.ejemplo01_ListYArrayList.cromosBaloncesto;
public class CromoBaloncesto {
private int id;
private String nombre;
/**

View File

@@ -13,32 +13,30 @@ public class EjemploListasCromos {
List<CromoBaloncesto> lista = new ArrayList<CromoBaloncesto>();
lista.add(c1);
lista.add(c2);
lista.add(10, c3);
lista.add(c3);
for (CromoBaloncesto c : lista) {
System.out.println(c.getNombre());
}
CromoBaloncesto c4 = new CromoBaloncesto(4, "Araceli Pacheco");
CromoBaloncesto c5 = new CromoBaloncesto(5, "María Jesús Joyanes");
CromoBaloncesto c6 = new CromoBaloncesto(6, "Candela Écija");
List<CromoBaloncesto> lista2 = new ArrayList<CromoBaloncesto>();
lista2.add(c4);
lista2.add(c5);
lista2.add(c6);
// CromoBaloncesto c4 = new CromoBaloncesto(4, "Cristina Castro");
// CromoBaloncesto c5 = new CromoBaloncesto(5, "María Jesús Joyanes");
// CromoBaloncesto c6 = new CromoBaloncesto(6, "Alazne Ruiz");
//
// List<CromoBaloncesto> lista2 = new ArrayList<CromoBaloncesto>();
// lista2.add(c4);
// lista2.add(c5);
// lista2.add(c6);
//
// lista.addAll(1, lista2);
//
// lista.removeAll(lista);
//
// System.out.println("VAcía: " + lista.isEmpty());
//
// for (CromoBaloncesto c : lista) {
// System.out.println(c.toString());
// }
lista.addAll(1, lista2);
lista.removeAll(lista);
System.out.println("VAcía: " + lista.isEmpty());
for (CromoBaloncesto c : lista) {
System.out.println(c.toString());
}
}
}

View File

@@ -19,13 +19,11 @@ public class EjemploHashMap {
hm.put("4", new Persona ("44444444A", "Torralbo Torralbo", "Patricia"));
hm.put("5", new Persona ("55555555A", "Lérida Lérida", "Lucía"));
// Recuperación de datos en un HashMap general
System.out.println("Objeto con id 1: " + hm.get("1")); // Recuperación de un solo objeto
// Inserción de un objeto con un tipo de identificador diferente
hm.put(Integer.valueOf(6), new Persona ("66666666A", "Ramírez Ramírez", "Ramiro"));
hm.put(6, new Persona ("66666666A", "Ramírez Ramírez", "Ramiro"));
// Recuperación de todas las claves de objetos en el HM
System.out.println("\nRecorrido del HashMap:");
@@ -69,7 +67,7 @@ public class EjemploHashMap {
* @param args
*/
public static void main (String args[]) {
ejemploHashMapGeneral();
//ejemploHashMapEspecifico();
// ejemploHashMapGeneral();
ejemploHashMapEspecifico();
}
}

View File

@@ -0,0 +1,125 @@
package tutorialJava.capitulo6_ColeccionesDeDatos.ejercicios.bloque01_listas;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import tutorialJava.Utils;
public class Ejercicio01_ListasConInteger {
private static List<Integer> enteros = new ArrayList<Integer>();
public static void main(String[] args) {
int opcionMenu = 0, posicionAInsertar;
do {
opcionMenu = mostrarMenu();
switch(opcionMenu) {
case 1: // Crear aleatoriamente la lista de valores
enteros.clear();
enteros.addAll(creaLista());
break;
case 2: // suma, media, mayor y menor
calculaSumaMediaMayorMenor();
break;
case 3: // agregar una nueva cantidad de valores
posicionAInsertar = Utils.obtenerEnteroConDescripcion("Dime la posición a "
+ "insertar los nuevos valores en la lista");
enteros.addAll(posicionAInsertar, creaLista());
break;
case 4: // Eliminar elementos dentro de un intervalo
int eliminados = eliminarElementosEnIntervalo(
Utils.obtenerEnteroConDescripcion("Dame un mínimo para eliminar: "),
Utils.obtenerEnteroConDescripcion("Dame un máximo para eliminar: "));
System.out.println("Se han eliminado: " + eliminados);
break;
case 5: // Imprime la lista
for (Integer e : enteros) {
System.out.print(e.intValue() + " ");
}
System.out.println();
}
} while(opcionMenu != 0);
}
/**
* Este método.......
* @param min Este parámetro....
* @param max
*/
private static int eliminarElementosEnIntervalo (int min, int max) {
int contEliminados = 0;
for (int i = enteros.size()-1; i > -1 ; i--) {
if (enteros.get(i).intValue() > min && enteros.get(i).intValue() < max) {
enteros.remove(i);
contEliminados++;
}
}
return contEliminados;
}
/**
*
*/
private static void calculaSumaMediaMayorMenor () {
int suma = 0;
int mayor = enteros.get(0).intValue();
int menor = enteros.get(0).intValue();
for (Integer entero : enteros) {
suma += entero.intValue();
if (entero.intValue() > mayor) {
mayor = entero.intValue();
}
if (entero.intValue() < menor) {
menor = entero.intValue();
}
}
System.out.println("La suma vale: " + suma);
System.out.println("La media vale: " + (suma / (float) enteros.size()) );
System.out.println("El menor es: " + menor);
System.out.println("El mayor es: " + mayor);
}
/**
*
*/
private static List<Integer> creaLista () {
List<Integer> lista = new ArrayList<Integer>();
int longitud = Utils.obtenerEnteroConDescripcion("Dame la longitud de la lista: ");
int max = Utils.obtenerEnteroConDescripcion("Valor máximo: ");
int min = Utils.obtenerEnteroConDescripcion("Valor mínimo: ");
for (int i = 0; i < longitud; i++) {
lista.add(Utils.obtenerNumeroAzar(min, max));
}
return lista;
}
/**
*
* @return
*/
private static int mostrarMenu() {
System.out.println("MENÚ DEL PROGRAMA");
System.out.println("0.- Abandonar programa");
System.out.println("1.- Crear aleatoriamente lista de valores");
System.out.println("2.- Calcular suma, media, mínimo y máximo.");
System.out.println("3.- Agregar cantidad nuevos valores");
System.out.println("4.- Eliminar elementos en un intervalo");
System.out.println("5.- Imprimir lista");
System.out.println("Escribe la opción (0-5):");
return new Scanner(System.in).nextInt();
}
}

View File

@@ -0,0 +1,93 @@
package tutorialJava.capitulo6_ColeccionesDeDatos.ejercicios.bloque01_listas;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import tutorialJava.Utils;
public class FicheroTextoConListaDeStrings {
private static List<String> fichero = new ArrayList<String>();
private static List<String> portapapeles = new ArrayList<String>();
/**
*
* @param args
*/
public static void main(String[] args) {
int opcion;
do {
opcion = mostrarMenu();
switch (opcion) {
case 1: // Agregar una línea al final del fichero
fichero.add(Utils.obtenerCadenaConDescripcion("Inserte la nueva línea: "));
break;
case 2: // Insertar una línea en cualquier lugar del fichero
fichero.add(
Utils.obtenerEnteroConDescripcion("Dame una posición para insertar la línea:"),
Utils.obtenerCadenaConDescripcion("Dame la nueva línea: "));
break;
case 3: // Editar una línea
int posicionAEditar = Utils.obtenerEnteroConDescripcion("Posición a editar: ");
fichero.remove(posicionAEditar);
fichero.add(
posicionAEditar,
Utils.obtenerCadenaConDescripcion("Dame la nueva línea: "));
break;
case 4: // elimiar una línea
fichero.remove(Utils.obtenerEnteroConDescripcion("Indica la línea a eliminar: "));
break;
case 5: // Llevar al portapapeles un conjunto de líneas
int lineaIni = Utils.obtenerEnteroConDescripcion("Primera línea a cortar: ");
int lineaFin = Utils.obtenerEnteroConDescripcion("Última línea a cortar: ");
portapapeles.clear();
for (int i = lineaIni; i <= lineaFin; i++) {
portapapeles.add(fichero.get(lineaIni));
fichero.remove(lineaIni);
}
break;
case 6:
fichero.addAll(
Utils.obtenerEnteroConDescripcion("Indica dónde quieres insertar "
+ "las linás cortadas: "),
portapapeles);
break;
case 7: // Ver el fichero
System.out.println("Contenido del fichero: ");
for (String linea : fichero) {
System.out.println(linea);
}
System.out.println("\n");
break;
}
} while (opcion != 0);
}
/**
*
* @return
*/
private static int mostrarMenu() {
System.out.println("MENÚ DEL PROGRAMA");
System.out.println("0.- Abandonar programa");
System.out.println("1.- Agregar una línea al texto");
System.out.println("2.- Insertar una línea en cualquier posición del texto.");
System.out.println("3.- Editar una línea (reescribir su contenido)");
System.out.println("4.- Borrar una línea");
System.out.println("5.- Cortar un conjunto de líneas, (marcadas por su posición inicial y final).");
System.out.println("6.- Pegar un conjunto de líneas, (marcadas por su posición).");
System.out.println("7.- Imprimir el fichero");
System.out.println("Escribe la opción (0-7):");
return new Scanner(System.in).nextInt();
}
}