回答
Vector是一個類。一個Set是一個接口。無論如何,如果你沒有做一些需要線程安全的東西,我會使用ArrayList而不是Vector。或者一個標準數組,如果它不會被調整大小。
它確實取決於你的應用程序。具體來說,集合不允許重複的元素,而陣列(Arraylists,Vectors)。
個人而言,我會用一個陣列,除非它需要有某種特殊的功能(縮放,沒有重複的元素等)
除了優先於ArrayList的數組以外,我們同意。 – 2010-07-03 01:39:22
我使用矢量,因爲我不知道過渡的大小。這取決於用戶的輸入。所以它會更有效率,如果我使用矢量。我不需要確定數組的大小。 。 。 CMIIW – gin 2010-07-05 01:52:52
一組在插入和刪除時效率更高,而矢量則更慢。但是,您無法像在矢量中那樣將元素存儲在您選擇的索引處。
查找矢量中速度最快,而它們可以稍微慢一些。
如果你的數據是不變的,你應該使用矢量。如果你經常變化,你應該去一套。
更有效地做*什麼*? – 2010-07-03 01:31:51
TreeSet按元素的自然順序排列。 – 2010-07-03 01:38:34
我的不好,我澄清了我的意思。 – casablanca 2010-07-03 01:52:16
我寧願用列表實現的,而不是一個向量。這個向量是線程安全的,但是由於這個原因會帶來一些開銷。列表不是線程安全的,但您始終可以同步每個調用以添加,刪除和獲取元素。
如卡薩布蘭卡所說,如果您試圖以特定順序獲取您的元素,該設置將會有一些奇怪的行爲。此外,該集合將會如此行事,並且決不會讓您在需要時重複元素。
兩者都適用於不同類型的活動:向量和列表都是針對相同的任務,實現不同。該設置將只適用於這種情況,當你需要它像一套功能。
我認爲Set更適用於實現有限自動機。例如,你應該使用Set來保證沒有重複的元素。通過自動機定義,你有一組狀態,一組符號和一組可接受的狀態,所以一組可以適合你的要求。
A Vector
和Set
是兩種不同的數據結構;它們不能爲了同一目的而互換。
- A
Vector
包含定義順序的元素並且可以包含重複項(它是一個列表)。 - A
Set
沒有固有的順序,也不能包含重複項(它是一個包,其中元素沒有排序)。
你應該完全依賴於你如何設計和實現你的應用程序;不知道你是怎麼做到的,不可能說你應該使用Vector
還是Set
。
注意:類java.util.Vector
是一個遺留集合類,您應該真的使用java.util.ArrayList
來代替。
我的講師說我寧願用矢量來設置。 但是當我搜索自動機材料時,人們通常在他們的代碼中使用set。 我只是困惑,當我必須設計過渡。他說我的國家包括transIn,TransOut和符號。其中我的transIn和TransOut是一個矢量.. – gin 2010-07-05 01:44:44
問題是,你試圖從高級問題(「我想寫一個有限自動機程序」)立即跳轉到低級實現細節(「我應該使用'Vector'或'Set'),你應該完全使用它,取決於中間是什麼,首先考慮你要使用的算法,然後考慮如何將該算法放入代碼中。考慮哪種數據結構最適合該算法。 – Jesper 2010-07-05 06:45:43
- 1. 2D矢量vs 1D矢量
- 2. 在C++中設置矢量
- 3. Java矢量:清除vs removeAllElements方法
- 4. 矢量[] vs複製
- 5. 設置的二維矢量
- 6. 錯誤在C++設置和矢量
- 7. 在運行時設置矢量類型
- 8. 取消設置變量vs設置爲'
- 9. 設置矢量的矢量的第二尺寸爲零(C++)
- 10. J2me - 數組vs矢量?
- 11. 矢量矢量Java web服務
- 12. 'for'loop vs在MATLAB中的矢量化
- 13. GLSL:標量vs矢量性能
- 14. 大小vs矢量的容量?
- 15. 稀疏向量VS密集矢量
- 16. java矢量用法
- 17. Java:矢量定義
- 18. Java HashMap的矢量
- 19. Java矢量幫助
- 20. java矢量爲arraylist
- 21. java設置變量
- 22. Quartz2d矢量圖像vs OpenGL矢量描述?
- 23. 函數參數:矢量<Clazz*>&VS矢量<Clazz>&
- 24. 矢量vs二維數組vs vs int *裏面的數組。
- 25. 陣列VS矢量,存儲器佈局
- 26. Clojure的查找性能矢量VS集
- 27. webkit柵格vs矢量圖像
- 28. C++使用數組指針vs矢量?
- 29. Java中的矢量選項
- 30. 如何返回矢量java
適合* what *?你打算如何使用自動機內的集合? – 2010-07-03 01:29:17
對於有意義的答案,此問題太含糊。 – 2010-07-03 03:38:02