有两个arraylist集合a1,a2。
a1中有{"a","b","c","d"};
a2中有{"a","c"};
问:怎样会把这两个集合中不相同的元素筛选出来,也就是"b","d".
a1中有{"a","b","c","d"};
a2中有{"a","c"};
问:怎样会把这两个集合中不相同的元素筛选出来,也就是"b","d".
解决方案 »
- silverlight 如何让文本框的内容垂直居中?
- QueryString问题
- CSDN做的不是很人性化。有点失败
- 请问如何复制选择的文件夹中的所有文件到另一文件夹
- 特定数据表单问题
- 问一个白痴问题:在WIN2KP下可以直接装VS.NET吗?我以前试过好象不行,但今天看书好象又可以!郁闷!
- treeView鼠标经过节点或选中节点的时候都有一个背景颜色,怎么去掉啊??
- 未将对象引用设置到对象的实例,会是什么原因?
- Sql server的用户口令在传输过程中是否可以加密?
- 请问调用 Oracle 存储过程时如何 加入为空的参数?具体见内
- protected internal(OR关系还是AND关系)?
- 正则怎么提取汉字
没有的话就记录下来,就行了
a1中有{"a","b","c","d"};
a2中有{"a","c","f","g"};
所以要交叉判断
a1中有{"a","b","c"};
a2中有{"a","c","d"};
结果是什么?
a1中一定包含a2中有的数据,也就是说a2中不包括a1中没有的数据,问题是用a2.Contains(a1)
这个方法,它的返回值是bool,怎么得到"b","d"呢?
a1.Add("a");
a1.Add("b");
a1.Add("c");
a1.Add("d"); ArrayList a2 = new ArrayList();
a2.Add("a");
a2.Add("c"); ArrayList a = new ArrayList(); for (Int32 i = 0; i < a1.Count; i++)
{
if (!a2.Contains(a1[i]))
a.Add(a1[i]);
} foreach (String s in a)
Console.WriteLine(s);
ArrayList al1 = new ArrayList(new string[] { "a", "b", "c", "d" });
ArrayList al2 = new ArrayList(new string[] { "a", "c" }); //全集
ArrayList alAll = new ArrayList(); //结果
ArrayList res = new ArrayList(); alAll.AddRange(al1);
alAll.AddRange(al2); res.AddRange(alAll); foreach (string str in alAll)
{
if (al1.Contains(str) && al2.Contains(str))
res.Remove(str);
} //打印
foreach (string str in res)
Console.WriteLine(str);
List<string> list2 = new List<string> { "a", "c" };
List<string> intersectList = list1.Intersect(list2).ToList();
List<string> unionList = list1.Union(list2).ToList(); List<string> needList = unionList.Except(intersectList).ToList();
ArrayList list2=new ArrayList(){"a","c"};
List<string> list=list1.Cast<string>().Intersect(list2.Cast<string>());foreach(string str in list)
Console.Write(str);