集合接口的初始化对象方式:
ICollection<Data type> mycollect=new Collection< Data type >();
现在先来看一个整数类型集合的接口
using System.Collections.ObjectMode
//必须要有这个引用
ICollection<int> myCollection = new Collection<int>();
myCollection.Add(100);//增加元素
myCollection.Add(22);
myCollection.Add(30);
foreach (int x in myCollection)
Console.WriteLine(x); //输出元素
Console.WriteLine("集合中元素的个数{0}", myCollection.Count);
myCollection.Add(222);
myCollection.Remove(22);//删除元素
Console.WriteLine("集合中元素的个数{0}", myCollection.Count);
Console.WriteLine(myCollection.Contains(22));//判断集合中是否有这个元素
图片1
判读集合中是否存在某个元素:myCollection.Contains(x);有的话返回1,否则返回0;
将集合中的元素复制到一个同样大小的数组中:
int[] myArray = new int[myCollection.Count];
myCollection.CopyTo(myArray, 0);//从myCollection的第一个元素开始
int[] myArray = new int[myCollection.Count]; //从myCollection的第一个元素开始 Console.WriteLine("xia现在比较下两个对象中元素"); for (int i = 0; i < myCollection.Count; i++) { Console.Write("in myArray {0},",myArray[i]); } foreach (int x in myCollection) Console.WriteLine("in mycollection{0}",x); |
|
只要按照上面介绍的方法就可以构造其他类型的泛型集合。
现在演示下另一类型的泛型集合:
ICollection<string> another = new Collection<string>(); //构造一个字符串型的集合 another.Add("the "); another.Add("people's "); another.Add("republic "); another.Add("china "); foreach(string str in another) Console.Write(str); | 该对象的输出结果是: 图片3 |
二.BitArray
BitArray类是一个比特数组,数组的大小在创建对象的时候已经确定,每个数据元素只能表示一个比特,元素的值只能是1与0,其中用true表示1,用false表示0,当用其他数据类型的元素初始化该对象时,那么每个元素将占用该类型在内存中存储长度的数组空间,下表中式该类提供的特殊方法:
方法名字 | 方法的功能 |
and | BitArray中的元素执行按位“与”运算 |
or | 按位“或”运算 |
not | 取反运算 |
xor | 异或运算 |
get/set | 获取或设计特定位置处的位设置为指定值 |
setall | 将BitArray中的所有位设置为指定值 |
初始化一个BitArray类
BitArray myBitArray = new BitArray(4); myBitArray[0] = false; myBitArray[1] = true; myBitArray[2] = true; myBitArray[3] = false; DisplayBitArray("myBitArray", myBitArray); Console.WriteLine("after not()之后"); myBitArray.Not(); DisplayBitArray("myBitArray", myBitArray); |
图片4 |
当然这里还定义了一个方法专门用来输出:
public static void DisplayBitArray(string arrayListName, BitArray myBitArray)
{ for (int i = 0; i < myBitArray.Count; i++)
{
Console.WriteLine(arrayListName + "[" + i + "] = " + myBitArray[i]);
}
}