LISTAS
Una List en Java es una interfaz fundamental del framework de colecciones (java.util.List) que representa una secuencia ordenada de elementos (también conocida como colección ordenada). A diferencia de los arreglos tradicionales, las listas permiten almacenar elementos duplicados, valores nulos y gestionar el tamaño de manera dinámica, creciendo o disminuyendo automáticamente.
Características y detalles clave:
- Ordenada: Mantiene el orden de inserción, lo que significa que los elementos se pueden acceder por su posición (índice), empezando desde 0.
- Implementaciones comunes: Como es una interfaz, se utiliza a través de clases concretas, siendo las más populares ArrayList (para acceso rápido) y LinkedList (para inserciones/eliminaciones rápidas).
- Flexibilidad: Permite añadir, eliminar o modificar elementos en posiciones específicas.
- Seguridad de tipos: Utiliza genéricos (ej. List<String>), asegurando que solo se almacenen objetos del tipo especificado.
Ejemplo básico:
List<String> lista = new ArrayList<>();
lista.add("Elemento 1");
lista.add("Elemento 2");
System.out.println(lista.get(0)); // Salida: Elemento 1
CODIGO:
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
public class Listasejemplo {
public static void main(String[] args) {
// Crear una lista
List<String> lista = new ArrayList<>();
// 1. AGREGAR elementos
lista.add("Manzana");
lista.add("Banana");
lista.add("Naranja");
lista.add(1, "Pera"); // Agregar en posición específica
System.out.println("Despues de agregar: " + lista);
// 2. ACCEDER a elementos
System.out.println("Elemento en posición 1: " + lista.get(1));
System.out.println("Tamaño de la lista: " + lista.size());
// 3. MODIFICAR elementos
lista.set(2, "Kiwi");
System.out.println("Despues de modificar: " + lista);
// 4. ELIMINAR elementos
lista.remove("Banana"); // Eliminar por valor
lista.remove(0); // Eliminar por índice
System.out.println("Después de eliminar: " + lista);
// 5. BUSCAR elementos
System.out.println("¿Contiene 'Kiwi'? " + lista.contains("Kiwi"));
System.out.println("Índice de 'Pera': " + lista.indexOf("Pera"));
System.out.println("¿Está vacía? " + lista.isEmpty());
// 6. RECORRER la lista (varias formas)
System.out.println("\n--- Recorrido con for-each ---");
for (String fruta : lista) {
System.out.println("- " + fruta);
}
System.out.println("\n--- Recorrido con Iterator ---");
Iterator<String> it = lista.iterator();
while (it.hasNext()) {
System.out.println("- " + it.next());
}
System.out.println("recorrido con for");
for(int i=0;i<lista.size();i++){
System.out.println(lista.get(i));
}
// 7. LIMPIAR la lista
lista.clear();
System.out.println("Lista vacia: " + lista);
// 8. Verificar si está vacia
System.out.println("¿Está vacía ahora? " + lista.isEmpty());
}
}
CODIGO 2: INGRESAR NUMEROS EN UNA LISTA Y HACER CALCULOS:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class ListaNumeros {
public static void main(String[] args) {
List<Integer> numeros = new ArrayList<>();
Scanner sc = new Scanner(System.in);
// 1. AGREGAR números
System.out.print("¿Cuántos números? ");
int cantidad = sc.nextInt();
for(int i = 0; i < cantidad; i++) {
System.out.print("Número " + (i+1) + ": ");
numeros.add(sc.nextInt());
}
System.out.println("Lista: " + numeros);
// 2. RECORRER con for clásico
System.out.println("\n--- Recorrido con for clásico ---");
for(int i = 0; i < numeros.size(); i++) {
System.out.println("Posición " + i + ": " + numeros.get(i));
}
// 3. OPERACIONES con números
int suma = 0;
int maximo = numeros.get(0);
// For-each para sumar y encontrar máximo
for(int num : numeros) {
suma += num;
if(num > maximo) maximo = num;
}
System.out.println("\n--- Estadísticas ---");
System.out.println("Suma: " + suma);
System.out.println("Promedio: " + (suma * 1.0 / numeros.size()));
System.out.println("Máximo: " + maximo);
// 4. Buscar un número específico
System.out.print("\n¿Buscar qué número? ");
int buscar = sc.nextInt();
int posicion = numeros.indexOf(buscar);
if(posicion != -1) {
System.out.println("Encontrado en posición: " + posicion);
} else {
System.out.println("Número NO encontrado");
}
sc.close();
}
}
No hay comentarios.:
Publicar un comentario