在Java中,我不明白集合與「數據結構」。在我看來,集合是指列表,集合,映射,隊列,'數據結構'是指用於實現集合的數據結構,如數組,鏈表或樹。例如ArrayList和LinkedList都是集合,但它們的數據結構分別是一個數組和一個鏈表。我是正確的,還是我混淆了術語?Java:集合與「數據結構」之間的區別
回答
數據結構是數據如何在內存中的存儲器中表示。收集是如何訪問它。我強調「可以」這個詞。
如果您將數據存儲在LinkedList中並對其進行排序,則性能將下降。如果使用ArrayList,則相同的算法會提高性能。只要改變它在內存中表現的方式,將有助於各種因素。
您「可」使用集合表示訪問它,您「可以」也可以使用「索引」訪問數據。你也可以去getFirst,getNext,getPrev。
您的困惑在於內部存儲和訪問存儲之間。分開2.
數據結構是表示某種數據的對象的通用術語,因此鏈表,數組等都是數據結構。 Java意義上的集合是指任何實現接口的類。一般意義上的集合只是一組對象。
術語集合在其他編程語言中是否有意義,或者它實際上是Java使用的術語? – user1888243
這是一個通用術語。但是,當用在Java上下文中時,它通常意味着java集合類。 –
+1此外,通過該定義,「集合」接口的實現是一種數據結構,它提供了處理一組對象的方法。 –
數據結構具有某種模式的概念,例如,一個房子的代表會列出諸如方形鏡頭,臥室等東西。這就是通常意味着的東西:如何將數據結構表示爲數據?
正如Jeff所說,一個集合就是一組對象。集合確實具有結構,但它們的結構完全是組織的,例如,樹,或列表或鏈接列表。
- 1. ListBox.DataSource集合與ListBox.Items之間的區別?
- 2. 集合和容器之間的區別
- 3. java -cp與java -jar之間的區別
- 4. 結構和類之間的區別?
- 5. 系統verilog中的結構和聯合之間的區別
- 6. 數據結構Tree和Graph之間有什麼區別?
- 7. 元組與mdx中的集合之間的區別
- 8. 構造函數和new/malloc之間的區別,析構函數與delete/free之間的區別
- 9. gob解碼結構中的接口與生之間的區別
- 10. 控制結構php和控制結構之間的區別javascript
- 11. 命名等價與等價結構之間的區別?
- 12. javascript構造函數之間的區別
- 13. 集合論數據結構
- 14. 如何找到JQuery對象集合(數組)之間的區別?
- 15. 「或」與「||」之間的區別?
- 16. ~~與Math.floor之間的區別()
- 17. Java通用參數之間的區別
- 18. 數據/類型構造函數和函數之間的區別?
- 19. 相同數據類型的結構和數組之間的區別是什麼?
- 20. 正常的構造函數和mutator之間的區別? Java
- 21. 析構函數之間的區別,處理和終結方法
- 22. Doc數據值構造函數Char和Text之間的區別
- 23. C#集合的一般區別是什麼?底層數據結構是什麼?
- 24. 泛型集合與特定數據類型數組的區別
- 25. Hadoop中名稱空間與元數據之間的區別?
- 26. 構造函數和零參數構造函數之間的區別(Java)
- 27. java,java EE,servlet,JDK之間的區別
- 28. 數據庫術語之間的區別
- 29. 2個數據表之間的區別
- 30. PAM與Metis分區之間的區別
雖然簡單的問題,但很高興你問。許多人不會問,並永遠懷疑:-) – CuriousMind