1
0

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.

Juliaで学ぶプログラミング入門 コレクション/辞書型(Dict)

Last updated at Posted at 2022-12-04

辞書型(Dict)

Juliaの 辞書型(Dict)は、キーと値の組み合わせを保持するデータ構造です。キーは単一で重複なし(=ユニーク)、値はそのキーに対応するものです。辞書型は、高速な探索、追加、削除が可能です。例えば、次のような使い方ができます。

# Dict型の生成
mydict = Dict("key1" => "value1", "key2" => "value2")

# 値の取得
println(mydict["key1"])  # "value1"が表示される

# 値の追加
mydict["key3"] = "value3"

# 値の削除
delete!(mydict, "key1")

for文の利用

for文を使用して中身を反復処理することができます。次のように記述します。

# dictionaryの生成
mydict = Dict("key1" => "value1", "key2" => "value2")

# for文を使った反復処理
for (k, v) in mydict
    println("$k : $v")
end

上記の例では、dictionary内のキーと値を順番に取り出して処理しています。また、反復処理の中では、キーと値はタプルの形で取り出されるので、括弧を使用して個別の変数に代入することもできます。

初期化

初期化するには、以下のようにします。

# 初期化宣言する
my_dict = Dict{Any, Any}() #Dict()でもAny,Anyになる

# データを追加する
my_dict["key1"] = "value1"
my_dict["key2"] = "value2"

上記の例では、Any 型をキーと値の両方に使用していますが、実際には、キーと値の型は異なる場合が多いでしょう。その場合は、dictionaryを宣言する際にキーと値の型を指定します。

# キーが文字列型、値が整数型のハッシュマップを宣言する
my_dict = Dict{String, Int}()

# ハッシュマップにデータを追加する
my_dict["key1"] = 1
my_dict["key2"] = 2

削除

辞書型 (Dict) を削除する方法はいくつかあります。例えば、以下のように delete!() 関数を使う方法があります。

# 辞書型を定義する
d = Dict("a" => 1, "b" => 2, "c" => 3)

# "a" キーに対応する要素を削除する
delete!(d, "a")

# 辞書型を表示する
println(d)

上記のコードを実行すると、次のように表示されます。

Dict("b"=>2,"c"=>3)

また、辞書型からすべての要素を削除するには、empty!関数を使うこともできます。

# 辞書型を定義する
d = Dict("a" => 1, "b" => 2, "c" => 3)

# 辞書型を空にする
empty!(d)

# 辞書型を表示する
println(d)

実行すると次のように表示されます。

 #Dict{String, Int64}()

keyの存在確認

辞書型 (Dict) にキーが含まれているかどうかを確認するために、haskey() 関数を使います。この関数は、次のように使います。

d = Dict("a" => 1, "b" => 2, "c" => 3)

# 辞書型に "a" キーが含まれているかどうかを確認する
if haskey(d, "a")
    println("d has the key 'a'.")
else
    println("d does not have the key 'a'.")
end

上記のコードを実行すると、次のように表示されます。

d has the key 'a'.
1
0
0

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?