除了老师说的3条外,有一点需要注意,即集合可以包含集合,例如{{1},2,3}。我定义可以放进集合里的东西叫Element。Element有两种,一是1、2、3之类的数字——Number,一是{4}、{8,9}之类的集合——Set。然后按老师讲的,Set分为EmptySet、 SingletonSet和UnionSet。
Set有两种主要操作:
contains(Element e),看看e是不是在集合里面。如{1,2,3}.contains(3)=>true;{1,2,3}.contains({3})=>false。
union(Set s),把两个集合并起来。如{1,3,4}.union({5,7})=>{1,3,4,5,7}。
以下是测试
输出:
1, 2, 3, 4, 5
{1} contains 2: false
{2} contains 5: false
{1, 2} contains 1: true
{1, 2}=={5} =>false; {5}=={1, 2} =>false
{1, 2}.Length=2
{4} contains 4: true
{1, 2, 4} contains {4}: false
{4, 5} contains 5: true
{1, 2, 4}=={4, 5} =>false; {4, 5}=={1, 2, 4} =>false
{1, 2, 4}.Length=3
{4, 1, 2, 3} contains 1: true
{1, 2, 4}=={4, 1, 2, 3} =>false; {4, 1, 2, 3}=={1, 2, 4} =>false