集合(セット)に要素を追加するには (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"}>