0
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で学ぶプログラミング入門 コレクション/集合

Last updated at Posted at 2022-12-05

ここではコレクションのうち集合について解説します

集合

プログラムにおける集合とは、数学における集合と同様に、複数の要素をまとめたものを指します。プログラムでは、集合を扱うためのデータ構造が用意されていることが多く、これを使うことで、要素の追加や削除、検索などの処理を行うことができます。

Set

Julia では、集合 (Set) を表すために、Set を使用します。集合とは、要素の重複のない順序付けされていないデータ構造です。

・要素が重複しない
・すでに含まれる要素を追加してもエラーにならないが、要素数は増えない。
・順序はない。

重複しないが追加してもエラーしないため、様々なデータが追加される状況下でもデータ集合をユニークに保ちたい場面で役立ちます。

Julia で集合を使うには、まず Set を使って集合を定義します。例えば、次のように定義します。

# 集合を定義する
s = Set([1, 2, 3])

上記のように、Set 関数に配列を渡して集合を定義します。定義された集合 s は、次のように表示されます。

Set([1,2,3])

集合に要素を追加するには、push!() 関数を使います。例えば、次のように追加します。

# 集合を定義する
s = Set([1, 2, 3])

# 集合に要素を追加する
push!(s, 4) #複数追加の場合はpush!(s, 4, 5, 6)等とする

実行すると、集合 s は次のようになります。

Set([1,2,3,4])

また、集合から要素を削除するには、pop!() 関数を使います。例えば、次のように削除します。

# 集合を定義する
s = Set([1, 2, 3])

# 集合から要素を削除する
pop!(s, 2)  #複数削除の場合はpush!(s, 2, 3)等とする

実行すると、集合 s は次のようになります。

Set([1,3])
# 集合を定義する
s = Set([1, 2, 3])

# 集合を空にする
empty!(s)

実行すると、集合 s は次のようになります。

Set{Int64}()

初期化

 s = Set() # Set{Any}()

集合の演算

集合 (Set) 同士を計算するために、演算子を使用します。以下に、各演算子の使用方法を示します。

# 集合を定義する
s1 = Set([1, 2, 3])
s2 = Set([2, 3, 4])

# 和を計算する
s3 = s1  s2 #Set([1,2,3,4])
# union(s1, s2),∪(set1, set2)も同等

# 積を計算する
s3 = s1  s2 #Set([2,3])
# intersect(s1, s2),∩(s1, s2)も同等

# 差を計算する
s3 = setdiff(s1, s2) # Set([1])

# 対照差を計算する
s3 = symdiff(s1, s2) # Set([4,1])

# 部分集合の判定
issubset(s1, s2) # false
# ⊆(s1, s2) ,⊇(s1, s2), s1 ⊆ s2, s1 ⊇ s2

# 等価の判定
issetequal(s1, s2) # false

# 空判定
 isempty(s1) # false

# 要素数
 length(s1) #3

For文

集合 (Set) を使った for 文は、次のように書きます。

# 集合を定義する
s = Set([1, 2, 3])

# 集合から要素を取り出す
for x in s
    println(x)
end

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

1
2
3

参考図書

1から始めるプログラミング

Juliaプログラミングクックブック

天才プログラマー タンメイが教える Julia超入門

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