Người đóng góp chính tại đây.
Um, có gì để nói? Tất cả các bộ sưu tập dựa trên hàm băm (và dựa trên enum) đều có các hoạt động vào một lần trong thời gian không đổi, chính xác như bạn mong đợi. (HashMultiset
, LinkedHashMultiset
, ConcurrentHashMultiset
, HashBiMap
, HashBasedTable
, ImmutableSet
, ImmutableMap
, EnumMultiset
, EnumBiMap
, vv tất cả rơi vào thể loại đó.) Tất cả các bộ sưu tập cây-based/sắp xếp có thời gian cho các hoạt động logarit đơn nhập cảnh của họ, bao gồm TreeMultiset
, ImmutableSortedMap
, và ImmutableSortedSet
.
Trong số nhiều ảnh, tốt, tài liệu về cơ bản sẽ cho bạn biết Map
và việc triển khai thu thập giá trị và bạn có thể tìm ra từ đó. HashMultimap
cơ bản là một HashMap
để HashSet
s, LinkedHashMultimap
là một LinkedHashMap
-LinkedHashSet
s, ArrayListMultimap
là một HashMap
để ArrayList
s, LinkedListMultimap
là một LinkedHashMap
-LinkedList
s (hiệu suất-khôn ngoan, nếu không muốn nói về mặt kỹ thuật true), TreeMultimap
là một TreeMap
-TreeSet
s , ImmutableSetMultimap
là một ImmutableMap
đến ImmutableSet
s, ImmutableListMultimap
là một ImmutableMap
đến ImmutableList
s.
Điều duy nhất có thể không hiển nhiên là có thể triển khai SortedMultiset
cung cấp các hoạt động subMultiset().size()
trong thời gian O(log n)
mà bạn không thể thực hiện chỉ với JDK TreeMap<E, Integer>
.
Tất cả chế độ xem của bộ sưu tập (chúng tôi thích lượt xem nhiều) trở lại trong thời gian không đổi và có các tiệm cận kề bạn mong đợi.
Có điều gì cụ thể hơn mà bạn quan tâm không?
(Nói chung, Guava về cơ bản là các thư viện cốt lõi mà Google sử dụng trong sản xuất, mà tôi muốn cho là bằng chứng khá mạnh mẽ rằng các tiện ích hoạt động tốt trong môi trường công việc nặng. bạn sẽ nhận được những cải thiện đó một cách cơ bản miễn phí.)
Bạn đang tìm kiếm hiệu suất hoạt động nào? –
Thư viện ổi là lớn. Bạn đang xem xét các hoạt động nào? – Perception
Thật tuyệt vời khi cung cấp một biểu đồ cho các hoạt động Bộ sưu tập mới (MultiSet, Multimap, BiMap, Table). Giống như trong bộ sưu tập java [Ký hiệu BigO] (http://simplenotions.wordpress.com/2009/05/13/java-standard-data-structures-big-o-notation/). –