0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

配列とハッシュのどっちを使えばいいの?

Last updated at Posted at 2023-05-11

rubyを書いていると、「あれ?配列かハッシュのどっちを使ってデータを格納したらいいんだろう?」ということが時々出てきます。結局、どれを使っても書けちゃうんですが、それも一長一短ですね。

タイプ ケース
配列 繰り返し処理・コレクションをキューやスタックとして扱う場合
ハッシュ あるオブジェクトから他のオブジェクトへの1対1や多対多の対応が必要な場合

結局、配列とハッシュのどっちを使えばいいの?

Rubyでは、ハッシュ(Hash)と配列(Array)の両方を使用してデータを格納することができます。ハッシュはキーと値のペアでデータを保持し、配列は順序付けられた要素の集合を保持します。

以下に、ハッシュと配列の特徴と使い分けのポイントを示します。

ハッシュの使いどころ

ハッシュの特徴と使いどころ:

  • データの格納にキーと値のペアを使用します。
  • キーを使ってデータを高速に取得できるため、データの検索や関連付けに適しています。
  • キーは一意である必要があります。
  • データの順序は保証されません。
  • データに関連する属性や情報を表現する場合に適しています。

例:

user = { name: "Alice", age: 25, email: "alice@example.com" }
puts user[:name]  # "Alice"

配列の使いどころ

配列の特徴と使いどころ:

  • データを順序付けされたリストとして格納します。
  • インデックス(位置)を使ってデータにアクセスします。
  • データの順序が保持されるため、データの順番が重要な場合に適しています。
  • データの重複を許容します。
  • データの追加や削除が容易です。

例:

fruits = ["apple", "banana", "orange"]
puts fruits[0]  # "apple"

使い分けのポイント

  • データの関連付けや属性を表現する場合は、ハッシュが適しています。
    例えば、ユーザーのプロフィール情報や商品の詳細情報など。

  • データの順序やリスト形式が重要な場合は、配列が適しています。
    例えば、複数のオブジェクトの集合や処理の結果のリストなど。

ただし、特定のケースにおいてはハッシュと配列の両方を組み合わせて使用することもあります。例えば、配列の要素としてハッシュを格納し、それぞれのハッシュが異なる属性や情報を持つ場合などです。

最終的な選択は、データの性質と目的によって異なるため、具体的な要件とコンテキストに基づいて使い分ける必要があります。

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?