C#中的集合
集合的类型
System.Collections.Generic 类 支持泛型集合
System.Collections.Concurrent 类 线程安全
System.Collections 类 线程不安全,储存的都是obj类型
什么是ArrayList
使用大小会根据需要动态增加的数组来实现 List 接口。
示例
using System;
using System.Collections;
public class SamplesArrayList {
public static void Main() {
// 创建ArrayList集合
ArrayList myAL = new ArrayList();
// 使用Add方法进行添加都是obj类型
myAL.Add(1);
myAL.Add("王五");
myAL.Add(1.1);
myAL.Add(true);
//Count属性显示个数
Console.WriteLine(arrayList.Count);
//用数组的方式显示ArrayList中存的数据
Console.WriteLine(arrayList[0]);
Console.WriteLine(arrayList[1]);
Console.WriteLine(arrayList[2]);
Console.WriteLine(arrayList[3]);
foreach (Object obj in arrayList)
Console.Write(" {0}", obj);
Console.WriteLine();
}
}
属性
Capacity | 获取或设置 ArrayList 可包含的元素数。 |
---|---|
Count | 获取 ArrayList 中实际包含的元素数。 |
IsFixedSize | 获取一个值,该值指示ArrayList是否具有固定的大小 |
IsReadOnly | 获取一个值,该指示ArrayList是否位只读 |
IsSynchronized | 获取一个值,该值指示是否同步对ArrayList的访问(线程安全) |
item[Int32] | 获取或设定指定索引处的元素 |
SyncRoot | 获取可用于同步对ArrayList的访问对象 |
什么是Hashtable
Hashtable
表示根据键的哈希代码进行组合的键/值的集合。
示例
Hashtable hashtable = new Hashtable();
hashtable.Add("文杰","七夕去相亲角");
hashtable.Add(true,false);
hashtable.Add(1,2);
Console.WriteLine(hashtable.Count);
foreach (DictionaryEntry i in hashtable)
{
Console.Write(i.Key);
Console.WriteLine(i.Value);
}
属性
Count | 获取包括在Hashtable中的键/值对的数目 |
---|---|
EqualityComparer | 获取要用于IEqualityComparer的Hashtable |
IsFixedSize | 获取一个值,该值指示Hashtable是否具有固定的大小 |
IsReadOnly | 获取一个值该值指示Hashtable是否为只读 |
IsSynchronized | 获取一个值,该值指示是否同步对Hashtable的访问(线程安全) |
Item[Object] | 获取设置与指定的键关联的值 |
Keys | 获取包含在ICollection中的键的Hashtable |
SyncRoot | 获取可用于同步对Hashtable的访问的对象 |
Values | 获取一个ICollection,它包含Hashtable中的值 |
什么是list集合
表示可通过索引访问的对象的强类型列表。 提供用于对列表进行搜索、排序和操作的方法。
示例
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
Console.WriteLine(list.Count());
list.Sort();
list.Reverse();
list.Remove(2);
foreach (int i in list)
{
Console.WriteLine(i);
}
属性
Capacity | 获取或设置该内部数据结构在不断调整的大小情况下能够容纳的元素总数 |
---|---|
Count | 获取List中包含的元素数。 |
Item[int32] | 获取或设置索引处的元素。 |
什么是Dictionary<Tkey,Tvalue>类
表示键和值的集合。
示例
Dictionary<string,string> dictionary = new Dictionary<string,string>();
dictionary.Add("张三","11");
dictionary.Add("李四","15");
dictionary.Add("王五","20");
Console.WriteLine(dictionary.Count());
dictionary.Remove("张三");
foreach (KeyValuePair<string,string> kvp in dictionary)
{
Console.Write(kvp.Key);
Console.Write(kvp.Value);
}
属性
Comparer | 获取用于确定字典中的键是否相等的IEqualityComparer |
---|---|
Count | 获取包含在Dictionary<TKey,TValue>中的键/值对的数目 |
Item[TKey] | 获取或设置与指定的键关联的值 |
Keys | 获得一个包含DIctionary<TKey,TValue>中的集合 |
Values | 获得一个Dictionary<TKey,TValue>中的值的集合 |
什么是集合类
自定义的一组集合
class Test<T>
{
public T[] array = new T[10];
public void showInfo()
{
foreach (T t in array)
{
Console.WriteLine(t);
}
}
}
10];
public void showInfo()
{
foreach (T t in array)
{
Console.WriteLine(t);
}
}
}