博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用集合与Dictionary用例
阅读量:6885 次
发布时间:2019-06-27

本文共 2256 字,大约阅读时间需要 7 分钟。

今天老师给总结了一遍常用的两个集合List与Dictionary并带着写了一些小工具程序,这两个例子感觉非常实用!笔记如下:

1 常用集合:  2 1.可变长数组:ArrayList(非泛型)->List
(泛型) 3 属性:Capacity容量 4 Count实际存储的数量 5 方法:Add(object obj)增加元素,什么都可以放进去。 6 AddRange(ICollection c)可以直接加进一个数组或集合。 7 Remove()和RemoveAt(下标)删除元素。 8 Clear()清除所有元素。 9 TrimToSize()把容量设置成实际元素的数量,最小是4个。 10 Contains()返回是否包含某元素的布尔值。 11 ToArray()把集合转换成Object数组类型。 12 Sort()对值类型升序排序。 13 Reverse()反转。 14 ※在参数里写接口类型,实际传进去的是一个实现了这个接口的某类型的对象,所以参数传一个接口类型,就相当于这个函数可以使用所有实现了这个接口的类的对象。 15 16 2.键值对的集合:Hashtable(非泛型)->Dictionary
(泛型) 17 特点:键的名字不能重复,里面存的数据里的类型是DictionaryEntry类型,可以点出键和值,Dictionary里用KeyValuePair。不能for遍历,只能foreach遍历。 18 方法:Add(键,对象本身) 如:hash.Add(p.Name, p); 19 修改元素的值:hash[“张三”]=new person() { Name=”王五”, Email = “xxx”}; 20 ContainsKey()返回是否包含某元素的布尔值。 21 Remove(“key”)根据键来删除一个元素。 22 23 ArrayList(非泛型)->List
(泛型) 24 Hashtable(非泛型)->Dictionary
(泛型)
复制代码

案例1:根据字典进行字符串的替换操作

1 string str = "Welcome to Chinaworld";  2 str = str.ToLower();  3   4 Dictionary
dict = new Dictionary
(); 5 6 foreach (char item in str) 7 { 8 if (char.IsLetter(item)) 9 { 10 if (dict.ContainsKey(item)) 11 { 12 dict[item] += 1; 13 } 14 else 15 { 16 dict.Add(item, 1); 17 } 18 } 19 } 20 21 foreach (KeyValuePair
kv in dict) 22 { 23 Console.WriteLine("{0}出现了{1}次",kv.Key, kv.Value); 24 } 25 26 Console.ReadKey();
复制代码

案例2:判断某字母出现了几次

1 //根据字典替换 2 Dictionary
dict = new Dictionary
(); 3 string str = "1壹 2贰 3叁 4肆 5伍 6陆 7柒 8捌 9玖 0零"; 4 5 string[] names = str.Split(''); 6 foreach (string item in names) 7 { 8 dict.Add(item[0], item[1]); 9 } 10 11 string num = "0123456789"; 12 char[] chs = num.ToCharArray(); 13 14 for (int i = 0; i < chs.Length; i++) 15 { 16 if (dict.ContainsKey(chs[i])) 17 { 18 //键从字典中找对应的值19 chs[i] = dict[chs[i]]; 20 } 21 } 22 23 Console.WriteLine(new string(chs)); 24 Console.ReadKey();

转载于:https://www.cnblogs.com/houzhitong/archive/2012/03/17/2403913.html

你可能感兴趣的文章
大数据虚拟化零起点-2基础运维第一步-环境规划和准备
查看>>
Skype for Business Server 2015-04-前端服务器-3-安装-管理工具
查看>>
docker入门指南(转载)
查看>>
Java RGB数组图像合成 ImageCombining (整理)
查看>>
第八届河南省赛F.Distribution(水题)
查看>>
Android 下拉刷新上拉载入效果功能
查看>>
第九篇 :微信公众平台开发实战Java版之如何实现自定义分享内容
查看>>
[New Portal]Windows Azure Virtual Machine (3) 在VM上挂载磁盘
查看>>
字体随着ProgressBar的加载而滚动
查看>>
Handler 机制再了解
查看>>
如果你是前端工程师,把你的网站或者你知道的网站加进来吧
查看>>
阿里云产品头条(2017年12月刊)
查看>>
探究SQL添加非聚集索引,性能提高几十倍之谜
查看>>
Java 如何不使用 volatile 和锁实现共享变量的同步操作
查看>>
追踪解析 Disruptor 源码
查看>>
【剑指offer】让抽象问题具体化
查看>>
聊聊flink的AbstractNonHaServices
查看>>
搭建一个通用的脚手架
查看>>
PAT A1071
查看>>
【笔记】重学前端-winter
查看>>