Está en la página 1de 3

Taller de Programación 1 Lic. J.

Felipez

MANEJO DE UNA ESTRUCTURA TREESET


import java.util.Iterator;
import java.util.TreeSet;

/**
* Manejo de TreeSet.
* Arbol binario de búsqueda (BST) balanceado de solo claves.
* No acepta claves duplicadas.
* Las operaciones de inserción/búsqueda/eliminación se realizan en O(log n).
*
*/
public class EjemploTreeSet {
public static void main(String[] args) {

TreeSet<Integer> claves = new TreeSet<Integer>();

claves.clear(); // Elimina todos los elementos.

/* ¿El árbol está vacío? */


System.out.println(claves.isEmpty()); // true

claves.add(100); // Ingresa 100


claves.add(10); // Ingresa 10
claves.add(50); // Ingresa 50
claves.add(1); // Ingresa 1
claves.add(13); // Ingresa 13

claves.remove(10); // Elimina clave 10

System.out.println(claves); // Imprime [1, 13, 50, 100]


System.out.println(claves.contains(50)); // Imprime true
System.out.println(claves.headSet(50)); // claves < 50, Salida [1, 13]
System.out.println(claves.tailSet(50)); // claves >= 50, Salida [50, 100]

// Muestra todos los elementos


Iterator<Integer> it = claves.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}

}
}
Taller de Programación 2 Lic. J. Felipez

MANEJO DE UNA ESTRUCTURA TREEMAP


import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;

/**
* Manejo de TreeMap.
* Arbol binario de búsqueda (BST) balanceado (clave -> dato)
* No acepta claves duplicadas.
* Las operaciones de inserción/búsqueda/eliminación se realizan en O(log n).
*
*/
public class EjemploTreeMap {
public static void main(String[] args) {

TreeMap<Integer, String> arbol = new TreeMap<Integer, String>();

arbol.clear(); // Elimina todos los elementos.

/* ¿El árbol está vacío? */


System.out.println(arbol.isEmpty()); // true

arbol.put(100, "a"); // Ingresa <100,"a">


arbol.put(10, "b"); // Ingresa <10,"b">
arbol.put(50, "c"); // Ingresa <50,"c">
arbol.put(1, "d"); // Ingresa <1,"d">
arbol.put(13, "e"); // Ingresa <13,"e">

arbol.remove(10); // Elimina <10, "b">

System.out.println(arbol.keySet()); // Imprime [1, 13, 50, 100]


System.out.println(arbol.values()); // Imprime [d, e, c, a]
System.out.println(arbol.containsKey(50)); // Imprime true
System.out.println(arbol.get(50)); // Imprime "c"

// Muestra todos los elementos


for (Map.Entry<Integer, String> e : arbol.entrySet())
System.out.println(e.getKey() + " - " + e.getValue());

// Obtiene el BST balanceado entre 13 <= clave < 100


SortedMap<Integer, String> res = arbol.subMap(13, 100);

System.out.println(res.keySet()); // Imprime [13, 50]


System.out.println(res.values()); // Imprime [e, c]
}
}
Taller de Programación 3 Lic. J. Felipez

MANEJO DE UNA ESTRUCTURA LINKEDHASHMAP


import java.util.LinkedHashMap;
import java.util.Map;

/**
* Manejo de LinkedHashMap.
* No ordena por la clave, se muestra en el orden en que fueron ingresados
* en el mapa (clave -> dato)
* No acepta claves duplicadas.
* Las operaciones de inserción/búsqueda/eliminación se realizan en O(1).
*
*/
public class EjemploLinkedHashMap {
public static void main(String[] args) {

LinkedHashMap<Integer, String> mapa = new LinkedHashMap<Integer, String>();

mapa.clear(); // Elimina todos los elementos.

/* ¿El mapa está vacío? */


System.out.println(mapa.isEmpty()); // true

mapa.put(100, "a"); // Ingresa <100,"a">


mapa.put(10, "b"); // Ingresa <10,"b">
mapa.put(50, "c"); // Ingresa <50,"c">
mapa.put(1, "d"); // Ingresa <1,"d">
mapa.put(13, "e"); // Ingresa <13,"e">

mapa.remove(10); // Elimina <10, "b">

System.out.println(mapa.keySet()); // Imprime [100, 50, 1, 13]


System.out.println(mapa.values()); // Imprime [a, c, d, e]
System.out.println(mapa.containsKey(50)); // Imprime true
System.out.println(mapa.get(50)); // Imprime "c"

// Muestra todos los elementos


for (Map.Entry<Integer, String> e : mapa.entrySet())
System.out.println(e.getKey() + " - " + e.getValue());

}
}

También podría gustarte