2
A
回答
2
你混淆了很多東西。
List
,Set
和Map
是Java收集庫的基礎接口中的3個。番石榴的Multiset
和Multimap
,雖然類似的探測,但不是Set
和Map
的直接延伸。
Multiset
是不是一個真正的Set
(直接延伸Collection
,實際上),因爲它允許重複,但也沒有(不一定)滿足訂貨像List
(對於這一點,你可以有一個LinkedHashSet
,這是一個Set
實現)。 Multisets一般通常被稱爲包包。
Multimap
是接受同一個鍵的多個值的映射(但不是Map
接口的擴展)。
另外,考慮看看Multiset & Multimap: What's the Point?雖然這是最初的C++,但接受的答案給出了具有良好用例的具體例子,這些例子使這些感官成爲可能。
所以,性能和內存消耗不是主要關注這裏。主要關心的是這些是否是您的用例的正確數據結構。
此外,接口並不能真正讓你對內存消耗做出任何假設(除了對期望的列表,集合或映射類型的一般假設之外),因爲它們只定義API的合約。你想看看的是這些接口的實際實現,如果你想比較它們。
相關問題
- 1. 番石榴和javafx
- 2. 番石榴和Weblogic:ClassNotFoundException
- 3. 如何使用多重集? (番石榴)
- 4. Floats.tryParse()番石榴
- 5. 番石榴,Files.readLines()和空白
- 6. 番石榴:Throwables.propagate和InterruptedException的
- 7. 番石榴映射
- 8. 番石榴表ConcurrentModificationException
- 9. 番石榴資源
- 10. 番石榴入門
- 11. ClassNotFoundException的番石榴
- 12. Java番石榴CartesianProduct
- 13. 番石榴功能
- 14. 番石榴 - 地圖支持番石榴功能
- 15. 番石榴EventBus多用戶相同tpe
- 16. 番石榴:合併兩個多圖
- 17. 過濾番石榴多圖表
- 18. 使用多個番石榴版本
- 19. 番石榴的HashBaseTable cellSet()
- 20. 不明白番石榴PrimitiveSink
- 21. 番石榴Multimap containsEntry問題
- 22. 使用番石榴表
- 23. 番石榴表替代
- 24. 遍歷表番石榴
- 25. 番石榴文件緩存
- 26. 番石榴:CharEscaper在哪裏?
- 27. 番石榴散列用例
- 28. 番石榴Multimap列表
- 29. 在谷歌番石榴loadingCache
- 30. 子類番石榴的ImmutableSet
他們解決不同的需求 - 爲什麼你會比較蘋果和橘子? –
如果你請詳細解釋 – sabbir
這將是一種你除了別的以外,你列出的所有東西都是一個*接口* - 不同的實現可以有不同的性能。 –