¿Cuál es el reemplazo para Sets.newConcurrentHashSet ()?
Pregunta
Estoy actualizando desde Google Colecciones 0,9 a 1,0. Parece Sets.newConcurrentHashSet()
ya no está disponible. Lo estaba utilizando en el siguiente constructo:
public static <K, V> Multimap<K, V> newConcurrentMultimap() { return Multimaps.newMultimap( new ConcurrentHashMap<K, Collection<V>>(), new Supplier>() { @Override public Collection<V> get() { return Sets.<V>newConcurrentHashSet(); } } ); }
¿Cuál sería el mejor reemplazo para Sets.newConcurrentHashSet ()?
Editar: La razón de esta construcción es tener un multimap que es seguro para leer y escribir desde varios subprocesos. Se utiliza en un escenario de leer sobre todo-(y será leído mucho).
cordiales,
Wim
Solución
Sets.newConcurrentHashSet
fue retirada en 1.0rc1 ( cometer log ). No sé la razón de la retirada, pero se puede usar la implementación mismo:
Sets.newSetFromMap(new ConcurrentHashMap<V, Boolean>());
Otros consejos
Trate de usar MapMaker
y luego usar newSetFromMap()
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow