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 }
转载于:https://www.cnblogs.com/Kurodo/archive/2011/10/09/2203748.html