Sei sulla pagina 1di 5

Colecciones

Víctor Iván Vidal Ayancán

Programación Orientada a Objetos II

Instituto IACC

13/04/2020
Desarrollo

1. Considere una biblioteca pública. Indique y fundamente qué clases se pueden utilizar para

almacenar temporalmente el contenido de la biblioteca y los ordenamientos que quisiera darle.

Posteriormente, sugiera la mejor clase que se ajuste a la problemática.

2. Realice un cuadro comparativo que considere las clases aprendidas para agrupar objetos,

identificando claramente las características, ventajas y desventajas, e indique al menos un caso

donde puedan ser útiles.

R:

1.- A mi modo de ver, lo primordial para un sistema base de una biblioteca pública es la de
mantener el orden en el almacenamiento temporal del contenido de la biblioteca. Por lo tanto, las
clases que se pueden utilizar para ello serían las siguientes:

 Listas. (List)
◦ Pueden utilizar el método Collection.sort() tal como se indica en el material de la
semana, para ordenar el contenido de la lista.
◦ Se puede modificar su contenido utilizando el iterador ListIterator, que permite
modificar la lista en cualquier dirección.
◦ Las modificaciones no tienen ningún tipo de restricción.

 ArrayList:
◦ Es de fácil y rápido acceso a los elementos, sobre todo si se trata de búsquedas.
◦ No es recomendable su uso cuando se va a efectuar una gran cantidad de operaciones
de inserción y/o eliminación de los objetos que la componen.

 LinkedList:
◦ Más eficientes que Arraylist en operaciones de inserción y/o eliminación de
elementos.
◦ Son utilizadas principalmente en Java por su rapidez al manejar objetos al inicio o al
final de la lista, sin embargo, son lentas cuando se trata de procesar búsquedas en
toda la lista.
 Conjuntos (Set):
◦ Set corresponde a una colección que no admite elementos duplicados, pero no
importa el orden de éstos y dispone de los mismos métodos que expone la interfaz
Collection, por lo tanto, su uso es aplicable en casos en que se tiene certeza de que no
existirán elementos repetidos, y en los que el orden de estos no es relevante.
 HashSet:
◦ Es la clase más usada para implementar la interfaz Set
◦ Se basa en una tabla Hash (una tabla con clave única que indica la posición del
elemento).
 SortedSet:
◦ Muy similar a Set, sin embargo permite que los elementos esten ordenados por lo
tanto las búsquedas son más rapidas.
 TreeSet:
◦ Implementa la interfaz SortedSet.
◦ Se basa en una estructura de árbol, permitiendo que los objetos se organicen de
forma natural o bien por uno definido por un comparador.

En base a las descripciones anteriores, la que más creo se acomoda a la función de la biblioteca
sería la de ArrayList, esto porque la biblioteca no realiza grandes modificaciones de datos en la
lista que se maneja del stock de libros, al contrario, son modificaciones y reemplazos puntuales
los que se efectúan, por lo que esta Interfaz sería la idónea para cumplir ese cometido.

2.-

Clase Características
Lista (list)  Acceso aleatorio Clases tipo “List”

 Se pueden agregar o eliminar Ventajas: están ordenadas (vía

elementos sin restricción, poseen collection.sort()), permite añadir

bajo rendimiento. o eliminar sin restricción,

ListIterador permite modificar


Arraylist  De fácil y rápido acceso sobre todo
en cualquier dirección. Su
en búsquedas.
sintáxis es similar a los Arrays.
 Almacena datos de forma
Desventajas: Bajo rendimiento
dinámica.
en operaciones concretas que se
 Se puede utilizar para el
resolverían mejor con otras
ordenamiento de equipos y
interfaces.
recorrerla.
Linkedlist  Rapidez en inserción o eliminar

elementos al comienzo o al final de

la lista.
 Su estructura es más completa que

Arraylist.

 Puede ser de tamaño Ilimitado.


Conjuntos Evita la duplicidad de datos y además Clases tipo “Set”

(set) podemos ingresar información sin Ventajas:

importar el orden. Dispone de los mismos métodos


Hashset Nos indica de forma clara la posición de
de los que dispone la Interfaz
un elemento lo cual nos facilita la
Collection.
búsqueda.
Sortedset Los elementos son ordenados de forma

natural o usando un comparador, el orden

es mucho más exacto. Desventajas: No admite


Treeset Según nos indica los contenidos de la
elementos duplicados, por lo que
semana, esta clase nos permite que se
sólo es aplicable en casos en
agreguen elementos, y que el orden se
donde se tiene la certeza de que
mantenga siempre que los objetos
no existan elementos repetidos.
implementen la interface comparable.

Se puede utilizar para crear una clase y

luego comparar u ordenar según diferentes

atributos.
Bibliografía

IACC (2014). Colecciones. Programación Orientada a Objetos II. Semana 1.

Potrebbero piacerti anche