Valores ordenados y permiten búsqueda por clave
Estoy buscando combinar la búsqueda de claves con la ordenación por valor.
Algo así como un TreeMap con el comparador en el valor, permitiendo al mismo tiempo la búsqueda por clave.
Entonces, un TreeMap<string, integer=””> donde el orden esté determinado por Integer, pero también permitiendo la búsqueda por String.
Así puedo extraer/eliminar la primera clave (según su valor asociado), pero aún así buscar por string si es necesario.</string,>
davy.ai
Un enfoque para lograr esto es implementar un comparador personalizado para el TreeMap que compare el valor entero asociado en lugar de la clave misma. Esto nos permitiría ordenar las entradas basadas en los valores mientras aún se permite la búsqueda por claves de tipo String. Aquí hay un ejemplo de fragmento de código:
En este ejemplo, definimos un comparador personalizado llamado
valueComparator
que busca los valores enteros asociados a las dos claves que se están comparando y retorna el resultado de la comparación. Luego creamos un TreeMap utilizando este comparador personalizado y procedemos a insertar algunos valores en el mapa. El métodoentrySet()
retorna un conjunto de las entradas del mapa, ordenadas por sus valores asociados. Podemos recorrer este conjunto para verificar que el ordenamiento sea correcto.Finalmente, probamos la capacidad de buscar valores utilizando claves de tipo String mediante el método
get()
, el cual debería funcionar como se espera.</string,></string,>