集合/泛型集合
上回说到了正则表达式匹配字符串 这篇文章说泛型集合 先说一下在题中的应用
在题中我是用泛型集合来存放百家姓,男孩名字和女孩名字
我使用的是Dictionary字典来存储
下面来看看我的用法:
// 将百家姓、男孩名字、女孩名字取出来
Dictionary<int, string> dic = getFirst(firstName); // 百家姓
Dictionary<int, string> dicB = getBoysName(boysName); // 男孩名字
Dictionary<int, string> dicG = getGirlName(girlsName); // 女孩名字
以上是我的用法 好了 废话不多说 上笔记
什么是泛型集合(自己的理解)
首先他肯定是一个集合 普通的集合事先规定了集合中所有数据的数据类型 比如说 数组
在程序中这显然是有局限性的 怎样才能解决呢 那么就要说泛型泛型集合了
ArrayList 用法
使用时要增加命名空间
using System.Collections;(Shift+Alt+F10)
ArrayList arr = new ArrayList(); // 使用前要实例化
增 Add / AddRange ↑
arr.Add(object value); // 增加一个所有类型的数据
arr.AddRange(object[] value); // 增加一个所有类型的数组
删 Remove ↑
arr.Remove(object value); // 删除指定的项
arr.RemoveAt(int index); // 删除指定位置的元素
arr.RemoveRange(int index,int count); // 删除指定位置的指定长度(从哪 开始
删除,删除几个元素)
arr.Clear(); // 清空数组
改 arr[int index] ↑
arr[int index]=object value; // 修改指定位置的元素
查 Contains ↑
arr.Contains(object value); // 查看某个元素是否存在 返回bool 找到返回true 否则返回false
统计 Count ↑
arr.Count(); // 统计数组个数
插入 Instert / InstertRange ↑
arr.Instert(int index,object value); // 插入位置 插入值
arr.InstertRange(int index,string[] value); // 将整个数组插入
Hashtable 用法
Hashtable ht = new Hashtable(); // 使用前要实例化
增 Add ↑
ht.Add(object Key, object value);
删 Remove ↑
ht.Remove(object Key); // 要删除的键
ht.Clear(); // 清空集合
改 ht[object Key] ↑
ht[object Key]=object Value; // ht[要更改的键]=要更改的值
查 ContainsKey / ContainsValue ↑
ht.ContainsValue(object value); // 查找特定值
ht.ContainsKey(object key); // 查找特定键
输出 DictionaryEntry ↑
foreach (DictionaryEntry item in ht)
{
Console.WriteLine( item.Key.ToString()+' '+item.Value.ToString() );
}
统计 Count ↑
ht.Count(); // 统计个数
List<T> List=new List<T>();泛型集合用法
List<string> lis = new List<string>(); // 使用前先实例化
增 Add / AddRange ↑
lis.Add(object value); // 增加单个值
lis.AddRange(object[] value); // 增加一个类型的数组
删 Remove / Clear ↑
lis.Remove(object value); // 删除特定的值
lis.Clear(); // 清空集合
改 lis[int index] ↑
lis[0] = "45655";
查 Contains / IndexOf ↑
lis.Contains(object value); // 查找指定的值在不在集合中
lis.IndexOf("854"); // 查找指定的值 没有则返回-1
统计 Count ↑
lis.Count(); // 统计集合个数
插入 InsertRange / Insert ↑
lis.InsertRange(object[] value); // 插入数组
lis.Insert(int index,object value); // 将指定的值插入指定的地方
输出 ↑
foreach (object type item in lis)
{
Console.WriteLine(item);
}
Dictionary字典用法
Dictionary<T, T> dic = new Dictionary<T, T>(); // 使用前先实例化
增 Add ↑
dic.Add(object Key,object value); // 插入数据
删 Remove / Clear ↑
dic.Remove(object Key); // 删除指定键的数据
dic.Clear(); // 清空字典
改 dic[object key] ↑
dic[object key] = object value; // 修改指定键的数据
查 ContainsKey / ContainsValue ↑
ht.ContainsKey(object key); // 根据键查找 返回bool
ht.ContainsValue(object value); // 根据值超找 返回bool
统计 Count ↑
dic.Count(); // 统计字典数据的个数
输出 KeyValuePair ↑
foreach (KeyValuePair<char,int> item in dic)
{
Console.WriteLine(item.Key.ToString()+' '+item.Value.ToString() );
}
关于foreach ↑
语法
foreach (临时变量类型 临时变量 in 集合)
{
//
}
重写foreach的遍历顺序方法 ↑
foreach只能按顺序依次遍历集合 如果要是想改变遍历的顺序 那么就重写
IEnumerable接口中的IEnumerator下的MoveNext();方法
下一篇文章我会介绍 随机函数 和 字符串处理函数
(作者注释:由于我的笔记是.doc格式的 所有的标题都有超链接以及标题颜色 如果直接复制过来的话会有格式不支持的情况 为了统一 我在全部转换成了txt 所以会没有颜色 希望大家见谅)