集合(セット)に別の集合の要素がすべて含まれているかどうかを判定するには (containsAll / issubset / issuperset / subset? / subsetOf / <=
/ >=
)
2016/07/19
集合(セット)に別の集合の要素がすべて含まれているかどうかを判定する、つまり、部分集合の関係にあるかどうかを調べる方法。
Java | superset.containsAll(subset) |
Scala | subset.subsetOf(superset) |
Python | subset.issubset(superset) subset <= superset superset.issuperset(subset) superset >= subset |
Java 2013/11/06
Signature:
例
// st が subset のすべてを含んでいるかどうか
st.containsAll(subset);
Scala 2015/03/21
Signature:
例
val st = Set("abc", "def", "ghi");
val subst = Set("def", "ghi");
println(subst.subsetOf(st)); // => true
println(st.subsetOf(subst)); // => false
Python 2014/10/29
# st も subst も集合型として
# subst のすべてが st に含まれているかどうか
subst.issubset(st)
# または
subst <= st
# または
# st が subst のすべてを含んでいるかどうか
st.issuperset(subst)
# または
st >= subst
issubset
, issuperset
はセット(集合型)以外にリストなども受け入れる。
Ruby / JRuby 2015/03/20
Set
クラスのインスタンス同士で、一方が他方の部分集合の関係にあるかどうかを調べるには subset?
または superset?
というメソッドを使う。
require 'set'
st = Set.new ["abc", "def", "ghi"]
subst = Set.new ["def", "ghi"]
p subst.subset?(st) # => true
p st.subset?(subst) # => false
p subst.superset?(st) # => false
p st.superset?(subst) # => true