集合(セット)に要素を追加するには (add / <<)

Java

Signature:

セットに含まれておらずに追加できた場合(addAll は1つでも追加できた場合)は true を返す。もともと含まれていた場合(addAll は1つも追加しなかった場合)は false を返す。

Scala

Signature:

def scala.collection.Set[E]#+ (elem: E): scala.collection.Set[E]
def scala.collection.Set[E]#+ (elem1: E, elem2: E, elems: E*): scala.collection.Set[E]
def scala.collection.mutable.Set[E]#+= (elem: E): scala.collection.mutable.Set[E]

+ では元のSetのインスタンスを変更せずに、要素が追加された新しいSetのインスタンスを返す。 += では元のSetのインスタンス自体を変更し、そのインスタンス自体を返す。

+= は可変のSetでしか使えない。

val st = Set("abc", "def", "ghi");
val newst = st + "jkl";
println(newst);
// => Set(abc, def, ghi, jkl)

val mst = scala.collection.mutable.Set("abc", "def", "ghi");
mst += "jkl";
println(mst);
// => Set(def, abc, ghi, jkl)

上の例では Set の2つの表示結果が異なる順番になっているが、 Setはもともと順番については保証されていないので、環境やバージョンによって異なるかもしれない。

+ は複数の要素をまとめて追加することもできる。

val st = Set("abc", "def", "ghi");
val newst = st + ("jkl", "mno");
println(newst);
// => Set(abc, mno, jkl, def, ghi)

Python

st.add(elem)

複数の要素をセットで指定してまとめて追加する方法

st.update(other_set)

Ruby / JRuby

require 'set'

st = Set.new ["abc", "def", "ghi"]
p st
# => #<Set: {"abc", "def", "ghi"}>

st.add("jkl")
p st
# => #<Set: {"abc", "def", "ghi", "jkl"}>

st << "mno"
p st
# => #<Set: {"abc", "def", "ghi", "jkl", "mno"}>

p st.add?("abc")
# => nil

p st.add?("ABC")
# => #<Set: {"abc", "def", "ghi", "jkl", "mno", "ABC"}>
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。