您的位置:首页 > 其它

一道练习题引申出来的知识点(三) 集合/泛型集合

2012-06-12 00:13 162 查看
集合/泛型集合

上回说到了正则表达式匹配字符串 这篇文章说泛型集合 先说一下在题中的应用

在题中我是用泛型集合来存放百家姓,男孩名字和女孩名字

我使用的是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 所以会没有颜色 希望大家见谅)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: