Documentos de Académico
Documentos de Profesional
Documentos de Cultura
&
Collections
Algoritmos y Estructura de
Datos I
Puede ser que se necesite almacenar elementos, pero que no se sepa cuántos elementos se
van a tener, en este caso, un arreglo con numero fijo de elementos no es adecuado. Para
solucionar estos problemas surgen las típicas agrupaciones de elementos, pilas, colas, tablas
hash, conjuntos, etc.
Java Arrays Class
Java incorpora la clase Arrays para disponer de métodos que trabajen con arrays (arreglos) de
cualquier tipo. Estos métodos implementan algoritmos de búsqueda, ordenación y de
asignación de un valor al array completo. Todos los métodos son static (métodos de clase). No
se pueden crear objetos de la clase Arrays ya que su constructor es privado.
Java Arrays Class
❑ Ordenación de arrays
El método de ordenación, sort(), está sobrecargado, de tal forma que se puede ordenar un
array de cualquier tipo primitivo y, en general, de tipo Object. sort() que implementa el
algoritmo de ordenación quicksort que asegura una eficiencia n log n.
Java Arrays Class
❑ Búsqueda de un valor
La clase Arrays dispone del método static binarySearch() para realizar la búsqueda de un
elemento en un array. El método devuelve la posición del elemento en el array, o bien, si no
está, -p siendo p la posición de inserción del elemento en el array. El método está
sobrecargado para cada tipo de dato primitivo y para arrays de cualquier objeto (Object)
que implemente la interfaz Comparable.
Java Interface Collection
Para estos tipos de agrupaciones,
Java proporciona las llamadas
Collectiones (Colecciones) que
proporcionan varias abstracciones
para conjuntos (Set), listas (List),
colas (Queue), etc.
Java.util.Collection es la raíz de la
jerarquía de las colecciones.
Java Interface Collection
La jerarquía Collection.Collection es una
interfaz no una clase; la diferencia entre clase e
interfaz es que una interfaz es una clase que no
tiene implementados sus métodos.
boolean retainAll(Collection c): Borrar todos los elementos menos esos concretos.
– Object[ ] toArray(Object a[ ]): Devuelve un array con todos los elementos. El tipo será el
del array enviado.
• Las colecciones no permiten el uso de tipos primitivos; por lo que, si necesitamos trabajar
con ellos habrá que usar los Wrappers de tipos primitivos.
Iterator
• El interfaz Iterator representa un componente que permite iterar sobre los elementos de
una coleción.
• Todas las colecciones ofrecen una implementación de Iterator por medio del método:
Su orden de iteración depende de la implementacion que los elementos hagan del interfaz
java.lang.Comparable.
–Object set(int index, Object elemento): Reemplaza el elemento de esa posición con ese
elemento.
–void add(int index, Object elemento): Inserta ese elemento en esa posición.
–boolean addAll(int index, Collection c): Inserta todos esos elementos en esa posición.
List
• Metodos para Busqueda:
• Subcolecciones:
List subList(int from, int to): Devuelve una lista con los elementos comprendidos entre ambas
posiciones.
Ofrece un tiempo de acceso óptimo cuando dicho acceso es para añadir o eleminar
elementos del comienzo y final de la lista (tipico para pilas).
• java.util.Vector: