AX 2009 Set类
Set类
Set可以容纳相同类型的任意数据的值,其特点就是所有保存于Set的值都是排序并且唯一的,当插入重复的值时,
Set会自动忽略。比如字符串类型,不区分大小写。
Set还可以用作集合的并集(Union)、交集(Intersection)和差集(Defference)运算。
Union:A集合元素与B集合元素,合并。
Intersection:A集合与B集合都存在的元素,交集。
Defference:A集合与B集合不相同的元素,以后者为主,取前者。
static void SetJob(Args _args)
{
Set m_SetStr = new Set(Types::String);
Set m_SetA = new Set(Types::Integer);
Set m_SetB = new Set(Types::Integer);
SetEnumerator m_SetEtor;
;
m_SetStr.add("Andy");
m_SetStr.add("Judy");
m_SetStr.add("Luck");
m_SetStr.add("ANDY");
info(strfmt("%1",m_SetStr.in("Andy"))); //true
info(m_SetStr.toString());
info(strfmt("count:%1",m_SetStr.elements()));//3
m_SetEtor = m_SetStr.getEnumerator();
while(m_SetEtor.moveNext())
{
info(m_SetEtor.current());
}
m_SetStr.remove("Luck");
info("============");
m_SetA.add(1);
m_SetA.add(2);
m_SetA.add(3);
m_SetB.add(3);
m_SetB.add(4);
m_SetB.add(5);
info(set::union(m_SetA,m_SetB).toString()); //1,2,3,4,5
info(set::intersection(m_SetA,m_SetB).toString()); //3
info(set::difference(m_SetA,m_SetB).toString()); //1,2
}
{
Set m_SetStr = new Set(Types::String);
Set m_SetA = new Set(Types::Integer);
Set m_SetB = new Set(Types::Integer);
SetEnumerator m_SetEtor;
;
m_SetStr.add("Andy");
m_SetStr.add("Judy");
m_SetStr.add("Luck");
m_SetStr.add("ANDY");
info(strfmt("%1",m_SetStr.in("Andy"))); //true
info(m_SetStr.toString());
info(strfmt("count:%1",m_SetStr.elements()));//3
m_SetEtor = m_SetStr.getEnumerator();
while(m_SetEtor.moveNext())
{
info(m_SetEtor.current());
}
m_SetStr.remove("Luck");
info("============");
m_SetA.add(1);
m_SetA.add(2);
m_SetA.add(3);
m_SetB.add(3);
m_SetB.add(4);
m_SetB.add(5);
info(set::union(m_SetA,m_SetB).toString()); //1,2,3,4,5
info(set::intersection(m_SetA,m_SetB).toString()); //3
info(set::difference(m_SetA,m_SetB).toString()); //1,2
}
作者:Kurodo
出处:http://Kurodo.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://Kurodo.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。