集合(セット)に要素を追加するには (add / <<)
Java 2016/09/17
Signature:
セットに含まれておらずに追加できた場合(addAll は1つでも追加できた場合)は true を返す。もともと含まれていた場合(addAll は1つも追加しなかった場合)は false を返す。
Scala 2015/03/21
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 2013/10/08
st.add(elem)
複数の要素をセットで指定してまとめて追加する方法
st.update(other_set)
Ruby / JRuby 2015/03/16
例
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"}>