Contribuente di guava qui.
Ehm, cosa c'è da dire? Tutte le raccolte basate su hash (e basate su enum) hanno le operazioni a voce singola in tempo costante, esattamente come ci si aspetterebbe. (HashMultiset
, LinkedHashMultiset
, ConcurrentHashMultiset
, HashBiMap
, HashBasedTable
, ImmutableSet
, ImmutableMap
, EnumMultiset
, EnumBiMap
, ecc tutti rientrano in questa categoria.) Tutte le collezioni basati su alberi/ordinamento hanno tempo logaritmico per le loro operazioni a singolo ingresso, comprese TreeMultiset
, ImmutableSortedMap
, e ImmutableSortedSet
.
Tra multimaps, beh, la documentazione in fondo si dice i Map
e il valore di raccolta implementazioni, e si può capirlo da lì. HashMultimap
è fondamentalmente un HashMap
a HashSet
s, LinkedHashMultimap
è una LinkedHashMap
a LinkedHashSet
s, ArrayListMultimap
è una HashMap
a ArrayList
s, LinkedListMultimap
è una LinkedHashMap
a LinkedList
s (performance, se non tecnicamente vero), TreeMultimap
è una TreeMap
a TreeSet
s , ImmutableSetMultimap
è un ImmutableMap
a ImmutableSet
s, ImmutableListMultimap
è un ImmutableMap
a ImmutableList
s.
L'unica cosa che potrebbe non essere auto-evidente è probabilmente che i SortedMultiset
implementazioni forniscono subMultiset().size()
operazioni in O(log n)
tempo, che non si poteva fare solo con un JDK TreeMap<E, Integer>
.
Tutte le viste delle raccolte (ci piacciono molto le viste) restituiscono in tempo costante e hanno le asintotiche che ti aspetteresti.
C'è qualcosa di più specifico di cui eri preoccupato?
(In generale, Guava è fondamentalmente le librerie di base utilizzate da Google nella produzione, che mi piacerebbe pensare è una prova abbastanza evidente del fatto che le utility funzionano in modo soddisfacente in ambienti gravosi. ottieni sostanzialmente questi miglioramenti gratuitamente.)
Quali sono le prestazioni operative che stai cercando in particolare? –
La libreria Guava è grande. Quali operazioni stai guardando in particolare? – Perception
Sarebbe bello fornire come una tabella di nuove operazioni Collections (MultiSet, Multimap, BiMap, Table). Come nella raccolta java [Notazione BigO] (http://simplenotions.wordpress.com/2009/05/13/java-standard-data-structures-big-o-notation/). –