En Java, las listas son estructuras de datos que permiten almacenar y manipular colecciones de elementos. Dos implementaciones comunes de listas en Java son ArrayList
y LinkedList
.
import java.util.ArrayList;
import java.util.LinkedList;
public class Listas {
public static void main(String[] args) {
// ArrayList
System.out.println("ArrayList:");
ArrayList arrayList = new ArrayList<>();
arrayList.add("Manzana");
arrayList.add("Banana");
arrayList.add("Naranja");
for (String fruta : arrayList) {
System.out.println(fruta);
}
// LinkedList
System.out.println("\nLinkedList:");
LinkedList linkedList = new LinkedList<>();
linkedList.add(10);
linkedList.add(20);
linkedList.add(30);
for (int numero : linkedList) {
System.out.println(numero);
}
}
}
ArrayList:
ArrayList
es una implementación de la interfaz List
que utiliza un arreglo para almacenar los elementos. Permite agregar, eliminar y acceder a elementos de manera eficiente.ArrayList
de cadenas y agregamos algunas frutas. Luego, iteramos sobre la lista e imprimimos cada elemento.LinkedList:
LinkedList
es otra implementación de la interfaz List
que utiliza una lista doblemente enlazada para almacenar los elementos. Permite agregar y eliminar elementos de manera eficiente, pero el acceso aleatorio es más lento que en ArrayList
.LinkedList
de números enteros y agregamos algunos números. Luego, iteramos sobre la lista e imprimimos cada número.En Java, los conjuntos son colecciones que no permiten elementos duplicados. Dos implementaciones comunes de conjuntos en Java son HashSet
y TreeSet
.
import java.util.HashSet;
import java.util.TreeSet;
public class Conjuntos {
public static void main(String[] args) {
// HashSet
System.out.println("HashSet:");
HashSet hashSet = new HashSet<>();
hashSet.add("Manzana");
hashSet.add("Banana");
hashSet.add("Naranja");
hashSet.add("Manzana"); // Intentamos agregar un elemento duplicado
for (String fruta : hashSet) {
System.out.println(fruta);
}
// TreeSet
System.out.println("\nTreeSet:");
TreeSet treeSet = new TreeSet<>();
treeSet.add(30);
treeSet.add(10);
treeSet.add(20);
for (int numero : treeSet) {
System.out.println(numero);
}
}
}
HashSet:
HashSet
es una implementación de la interfaz Set
que utiliza una tabla hash para almacenar los elementos. No permite elementos duplicados y no garantiza el orden de los elementos.HashSet
de cadenas y agregamos algunas frutas. Intentamos agregar una fruta duplicada («Manzana»), pero como los conjuntos no permiten duplicados, esta no se agrega dos veces.TreeSet:
TreeSet
es otra implementación de la interfaz Set
que almacena los elementos en un árbol binario ordenado. No permite elementos duplicados y los elementos se almacenan en orden natural o según un comparador proporcionado.TreeSet
de números enteros y agregamos algunos números. Los números se imprimirán en orden ascendente automáticamente.En Java, los mapas son colecciones que almacenan pares clave-valor, donde cada clave está asociada a un valor único. Dos implementaciones comunes de mapas en Java son HashMap
y TreeMap
.
import java.util.HashMap;
import java.util.TreeMap;
public class Mapas {
public static void main(String[] args) {
// HashMap
System.out.println("HashMap:");
HashMap hashMap = new HashMap<>();
hashMap.put("Manzana", 10);
hashMap.put("Banana", 20);
hashMap.put("Naranja", 30);
hashMap.put("Manzana", 40); // Sobrescribe el valor anterior de "Manzana"
for (String fruta : hashMap.keySet()) {
System.out.println(fruta + ": " + hashMap.get(fruta));
}
// TreeMap
System.out.println("\nTreeMap:");
TreeMap treeMap = new TreeMap<>();
treeMap.put("Tercero", 30);
treeMap.put("Primero", 10);
treeMap.put("Segundo", 20);
for (String clave : treeMap.keySet()) {
System.out.println(clave + ": " + treeMap.get(clave));
}
}
}
HashMap:
HashMap
es una implementación de la interfaz Map
que utiliza una tabla hash para almacenar los pares clave-valor. No permite claves duplicadas y permite un solo valor nulo.HashMap
que mapea nombres de frutas a cantidades. Al intentar agregar una fruta con una clave que ya existe («Manzana»), el valor se sobrescribe.TreeMap:
TreeMap
es otra implementación de la interfaz Map
que almacena los pares clave-valor en un árbol ordenado por las claves. No permite claves duplicadas y los elementos se ordenan en orden natural o según un comparador proporcionado.TreeMap
que mapea nombres de posición a números. Los elementos se imprimirán en orden ascendente de las claves.