2013-06-20 16 views
5

誰でもRubyでの読み書きが高速であることを説明できますか?ArrayまたはHashArrayHashの用途は何ですか? Hash.newを読み書き用Rubyでの配列またはハッシュ

Array.new 
Hash.new 
+5

これは、処理しているデータの種類に完全に依存します。 – Jyothu

+1

配列とハッシュは異なる動物であり、単純に「どちらが速いの?」と比較することはできません。ハッシュアクセスは、あなたがハッシュとのキー衝突に遭遇するまで* Arrayアクセスの周りを円で走ります。それを処理する方法がありますが、基本的に配列は気にせず、ハッシュは利点を否定することができます。配列は、待ち行列とスタックに最適であり、検索のために悪臭を放つ。ハッシュはランダムアクセスには最適であり、小型のデータベーステーブルのように動作することができますが、順次タスクやキー衝突の処理には適していません。 –

答えて

2

Array.newよりも高速です。このWhy Hashes Will Be Faster in Ruby 2.0を見てください。

+0

@LuísRamalho初めて私のコピーが私の編集者に入れ替えられました。 :) :)それでは私を許してください:) –

3

いくつかのユニークな順序付けられていない値を保存する必要がある場合は、Set.newを使用してください。これは、一定時間内に書き込みと読み取りを行う便利なハッシュベースのクラスです。

+1

これを拡張して 'Hash'と' Array'のユースケースについて議論すると、これは良い答えになります。 – thomasfedb

+1

@thomasfedb私がリンクしているビデオ、その素晴らしい。時間をかけて見てください。 :) –

関連する問題