public class ResumenColecciones { public static void main(String[] args) { //Las colecciones nos sirven para almacenar valores de forma dinámica // A diferencia de un array el tamaño no está definido de antemano // Hay muchos tipos de colecciones que se engloban en tres tipos: // List, Map y Set // List->Lista de objetos // Set ->Lista de objetos sin duplicados // Map-> Lista de pares clave,valor // Ejemplo de List: ArrayList // Lo definimos por el interfaz List List<String> productos=new ArrayList<String>(); // Añadimos con add, elminamos con remove productos.add("Manzana"); productos.add("Pera"); productos.add("Melocotón"); System.out.println(productos); productos.remove("Pera"); System.out.println(productos); // Lo recorremos con for each for(String el:productos) { System.out.println(el); } // Lo cambiamos con set productos.set(0, "MAnzana Golden"); System.out.println(productos); // Utilidades como contains, indexOf // Las utilidades de Collections: sort, shuflle, search... System.out.println(productos.contains("Melocotón")); // Puede ser de cualquier tipo List<Integer> foo1=new ArrayList<Integer>(); List<Boolean> foo2=new ArrayList<Boolean>(); List<Alumno> foo4=new ArrayList<Alumno>(); List<Infanteria> foo3=new ArrayList<Infanteria>(); List<LocalDate> foo5=new ArrayList<LocalDate>(); // Para pares clave, valor tenemos HashMap // Que se implementa mediante su interfaz 'Map' Map<String,String> referencias=new HashMap<String,String>(); // Se añaden elementos con el put referencias.put("QW23", "Tornillo fino 0.2mm"); referencias.put("QW24", "Tornillo fino 0.4mm"); referencias.put("QW25", "Tornillo fino 0.8mm"); // Se eliminan con remove referencias.remove("QW24"); // Se recorren por valores con foreach for(String el:referencias.values()) { System.out.println(el); } // Se recorren con clave y valor con EntrySet for(Map.Entry<String, String> el:referencias.entrySet()) { System.out.println(el.getKey()+" "+el.getValue()); } // El tamaño tanto de ArrayList como HashMap está en size System.out.println(referencias.size()); // Pueden ser usados como parámetros en funciones // Como propiedades en clases // Como valores de retorno en funciones Alumno pep=new Alumno("Pep",4); pep.addNota(8); System.out.println(pep.getFromNotas(0)); } }