Contenedores V : ¿Cual elegir?

Tras ver tantas variedades de contenedores se plantea, y con razón la pregunta..¿Cual escojo?

Bueno, para intentar responder a esta pregunta destacar aqui las características de cada posibilidad para que nos ayude en nuestra elección.

Listas, Sets y mapas

Listas

  • Una lista… podríamos decir que es un array mejorao se meten objetos con add(objeto) y se sacan con get(posicio)
    • ArrayList Tiene detrás un array, es lento en actuaciones secuenciales y rápido en actuaciones aleatorias.
    • LinkedList Está implementado como un conjunto, es como si a cada objeto se le añadiera un prefijo de su predecesor y un sufijo de su posterior elemento. Por este motivo es mas rápido para manipulación de elementos intermedios. Ya sabes meter y sacar del medio de la losta porque sólo hay que meter el elemento y copiar los apuntadores del anterior y el posterior.
    • Lo normal es decantarse por un arraylist y si se ve que es muy lento cambiar a linkedlist

Sets

  • Set Es un CONJUNTO SIN REPETIDOS y se maneja igual que una lista… con add(objeto) y se sacan con get(posicio)
    • TreeSet es un conjunto ordenado
    • HashSet es un conjunto… con hash. Es mas rápido en todos los sentidos que el TreeSet. El único motivo de mantener el TreeSet es porque mantiene los elementos ordenados

Mapas

  • Mapas Un mapa es un “array asociativo” se meten valores con put(clave, valor) y se obtienen con get(clave).
    • TreeMap mapa ordenado
    • HashMap lo mismo que con los sets… mas rápido en todos los sentidos sólo que guarda los valores como le da la gana
 
java/18.txt · Última modificación: 2008/05/13 10:00 (editor externo)
 
Excepto donde se indique lo contrario, el contenido de esta wiki se autoriza bajo la siguiente licencia:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki