2013-06-20 70 views
5

任何人都可以解釋什麼是更快的閱讀,用Ruby編寫:ArrayHashArrayHash有哪些用途?Ruby中的數組或哈希

Array.new 
Hash.new 
+5

它完全取決於您正在處理的數據類型。 – Jyothu

+1

Array和Hash是不同的動物,並不能與簡單的「哪個更快?」相比較。哈希訪問圍繞Array訪問*直到碰到與哈希的關鍵衝突。有辦法來處理,但基本上陣列不關心和哈希做,並可能否定優勢。數組非常適合隊列和堆棧,並且可以用於搜索。散列對於隨機訪問非常適用,可以像微型數據庫表一樣工作,但對於順序任務或處理關鍵衝突並不是很好的選擇。 –

回答

2

閱讀和寫作Hash.newArray.new更快。看這Why Hashes Will Be Faster in Ruby 2.0

+0

@LuísRamalho第一次我的副本在我的編輯器中交換。 :)所以原諒我.. :) –

3

如果您只需要存儲一些獨特的無序值,請考慮使用Set.new。這是基於哈希的類,可以在不變的時間內進行寫入和讀取。

+1

如果你擴大這個討論'Hash'和'Array'的用例,這將是一個很好的答案。 – thomasfedb

+1

@thomasfedb視頻我鏈接,它的真棒。花點時間看看吧。 :) –