¿Qué estructura de datos es adecuada para almacenar una gran cantidad de cadenas en Java?

pila dice:

Lo mejor es probablemente una tabla hash con bucket. Al colocar colisiones hash en cubos y mantener matrices separadas en el cubo para claves y valores, puede reducir el tamaño de la tabla correctamente y aprovechar la aceleración de la memoria caché de la CPU al buscar un cubo. ¡La búsqueda lineal dentro de un cubo puede incluso terminar más rápido que la búsqueda binaria!

Los árboles AVL son buenos para los conjuntos de datos que son intensivos en lectura pero no solo de lectura Y requieren una enumeración ordenada, encontrar operaciones más cercanas y similares, pero son una cantidad molesta de trabajo para implementar correctamente. Sin embargo, puede obtener un mejor rendimiento con un árbol B debido al comportamiento de la memoria caché de la CPU, especialmente un algoritmo de árbol B sin memoria caché.

puedes leer esto:

No estoy seguro de esto http://web.stanford.edu/EB2F64E4…

Gracias.

Lo primero que debe verificar es cómo planea recuperar la cadena. Si solo necesita un conjunto de cadenas, que le gustaría recorrer en iteración, entonces debería hacer un conjunto o una lista. Si necesita que se recupere con una clave, necesitaría un mapa.

La siguiente es la pregunta sobre el tamaño de la colección. Por lo tanto, necesita una colección que sea escalable y que, por lo tanto, requiera una forma optimizada de recuperación. Recomendaría Colecciones concurrentes – #% Concurrent% Clases e interfaces en #Java se

#% Concurrente% Mapa% Clases e interfaces