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

集合/泛型集合

上回说到了正则表达式匹配字符串 这篇文章说泛型集合 先说一下在题中的应用
在题中我是用泛型集合来存放百家姓,男孩名字和女孩名字
我使用的是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  所以会没有颜色 希望大家见谅)

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值