estoy usando Google guayaba 12 y tener un mapa:cómo puedo filtrar entradas de mapa basado en conjunto de entradas
Map<OccupancyType, BigDecimal> roomPrice;
Tengo un conjunto:
Set<OccupancyType> policy;
Cómo puedo filtrar las entradas en el roomPrice map
basado en policy
y devolver el mapa filtrado?
filteredMap
necesita tener todos los valores de policy
. En caso de que el mapa de roomPrice no tenga una entrada desde la política, me gustaría ingresar el valor predeterminado en su lugar.
¡Gracias! Todavía soy muy nuevo en Predicates y no estoy seguro de cómo generará un predicado que funcione en mi mapa. Además, ¿hay alguna manera de garantizar, filterMap debe tener todos los valores de la política. En caso de que el mapa de roomPrice no tenga una entrada desde la política, me gustaría ingresar el valor predeterminado en su lugar. – brainydexter
Si tiene un mapa con entradas "predeterminadas", puede hacer algo como: filteredMap.putAll (Maps.difference (filteredMap, defaultMap) .entriesOnlyOnRight()); –
Además, puedes echar un vistazo a este artículo: http://scaramoche.blogspot.de/2010/08/googles-guava-library-tutorial-part-4.html Tiene algunos buenos ejemplos de uso de predicados. –