这个时候最好使用List
使用数组也可以做出来。
另外,如果只是单个字符的还可以使用string来做。
下面只给出List
string[] array=new string[]{ "7","4","7","1","4","1","5","2","5"}
List
List
List
for(int i=0;i
strList0.Add(array[i]);//复制到原始集合中
}
for(int i=0;i
if(!strList1.Contain(strList0[i]))
{
//去掉重复的写入数组一
strList1.Add(strList0[i]);
}
}
//数组2的获取采用这样的算法,如果有相同的那么IndexOf和LastIndexOf的地址会不同因此可以这样写。
for(int i=0;i
if(strList0.IndexOf(strList1[i])!=strList0.LastIndexOf(strList1[i])){
strList2.Add(strList1[i]);
}
}
//如果是int类型只要把string改为int就行了。
//使用循环将值付给数组
//遍历数组元素来判断,使用List
int[] array1 = new int[] { 7, 4, 7, 1, 4, 1, 5, 2, 5 };
ArrayList list1 = new ArrayList(); //储存去重后剩余的元素
ArrayList list2 = new ArrayList(); //储存重复的元素
for (int i = 0; i < array1.Length; i++)
{
if (!list1.Contains(array1[i]))
list1.Add(array1[i]); //添加第一次出现的元素
else
list2.Add(array1[i]); //添加重复的元素
}
//现在list1中保存的元素就是对应你需要的array1
//list2中保存的元素则对应你需要的array2
//如果要转成数组,可通过循环赋值或者List等类的内置转换方法实现
地址
不管是JAVA,C#还是什么语言,在计算机中都以地址来存的
只是JAVA把指针操作给JVM来完成了
而C#也是同样,不过C#是可以使用指针的
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela
foreach (char item in array1)
然后对char逐一对比
用linq