黑马程序员-集合和泛型集合-学习笔记
2013-10-10 13:09
375 查看
-------
Windows Phone 7手机开发、.Net培训、期待与您交流! -------
垃圾回收:
1、CLR的一个核心功能
2、垃圾回收器,的目的:提交内存利用率
3、只回收托管堆中的内存资源,不回收其他资源(数据库连接,文件句柄,网络端口等)
4、GC.Collect();//手动垃圾回收(不建议使用)
集合介绍:
延伸(数组特点:类型统一,长度固定)
集合常用操作:添加,遍历,移除(增、删、查、改,遍历)
命名空间System.Collections
1、ArrayList: 可变长度数组,使用类似数组
属性Capacity(集合中可以容纳元素的个数,翻倍增长)
属性Count(集合中世纪存放的元素个数)
方法: Add();//添加元素
AddRange();//添加数组到集合
Remove();//根据对象删除元素
RemoveAt();//根据索引删除元素
Clear();//清空集合
Contains();//判断是否包含某个元素
ToArray();//把集合转换成数组
Sort();//排序
Reverse();//反转
2、Hashtable:键值对的对河,类似字典,Hashtable在查找元素的时候,速度很快。
方法: Add(object key,object value);//添加元素
hash["key"];//查询元素
hash["key"]="修改"//修改元素
Contains;//等价于ContainsValue,内部也是调用的ContainsValue。
ContainsValue;//值是否存在
ContainsKey("key");//key是否存在
Remove("key");根据key删除元素
遍历: hash Keys//遍历key
hash Values//遍历values
DictionaryEntry//同时遍历key和values
注意:以上两种集合很少使用,后期用
list<T>(泛型)代替ArrayList(非泛型)
Dictionary<K,V>(泛型)代替Hashtable(非泛型)
扩展:
随机数:Random r = new Random();
r.next(1,101);//随机生成1-100之间的数
注意事项:如果种子相同,产生的随机数是相同的,种子根据时间来决定。
泛型集合:(dotnet 2.0以上才有)
命名空间:System.Collcetions.Generic
List:
举例:List<T> list = new List<T>();
解释:T是Type是简写,该处填写某一数据类型。
1、通过泛型可以限定集合中存储数据的类型。
2、ToArray();//返回值类型自动对应设定的类型。
Dictionary:
举例:Dictionary<TKey,TValues> dict = new Dictionary<TKey,TValues>();
解释:TKey和TValue是简写,该处填写某一数据类型
1、遍历key
foreach(TKey item in dict.Keys)
{
Console.WriteLine(item);
}
2、遍历value
foreach(TValue item in dict.Values)
{
Console.WriteLine(item);
}
3、同时遍历key和value
foreach(KeyValuePair<Tkey,TValue> kv in dict)
{
Console.WriteLine(kv.Key);
Console.WriteLine(kv.Value);
}
var关键字介绍:
var是一个“类型推断”,在程序编译的时候就已经替换成对应的数据类型,所以说var是一个强类型(在编译的时候已经可以确定数据类型了),而不是弱类型。
扩展:javascript中的var是弱类型。
Windows Phone 7手机开发、.Net培训、期待与您交流! -------
垃圾回收:
1、CLR的一个核心功能
2、垃圾回收器,的目的:提交内存利用率
3、只回收托管堆中的内存资源,不回收其他资源(数据库连接,文件句柄,网络端口等)
4、GC.Collect();//手动垃圾回收(不建议使用)
集合介绍:
延伸(数组特点:类型统一,长度固定)
集合常用操作:添加,遍历,移除(增、删、查、改,遍历)
命名空间System.Collections
1、ArrayList: 可变长度数组,使用类似数组
属性Capacity(集合中可以容纳元素的个数,翻倍增长)
属性Count(集合中世纪存放的元素个数)
方法: Add();//添加元素
AddRange();//添加数组到集合
Remove();//根据对象删除元素
RemoveAt();//根据索引删除元素
Clear();//清空集合
Contains();//判断是否包含某个元素
ToArray();//把集合转换成数组
Sort();//排序
Reverse();//反转
2、Hashtable:键值对的对河,类似字典,Hashtable在查找元素的时候,速度很快。
方法: Add(object key,object value);//添加元素
hash["key"];//查询元素
hash["key"]="修改"//修改元素
Contains;//等价于ContainsValue,内部也是调用的ContainsValue。
ContainsValue;//值是否存在
ContainsKey("key");//key是否存在
Remove("key");根据key删除元素
遍历: hash Keys//遍历key
hash Values//遍历values
DictionaryEntry//同时遍历key和values
注意:以上两种集合很少使用,后期用
list<T>(泛型)代替ArrayList(非泛型)
Dictionary<K,V>(泛型)代替Hashtable(非泛型)
扩展:
随机数:Random r = new Random();
r.next(1,101);//随机生成1-100之间的数
注意事项:如果种子相同,产生的随机数是相同的,种子根据时间来决定。
泛型集合:(dotnet 2.0以上才有)
命名空间:System.Collcetions.Generic
List:
举例:List<T> list = new List<T>();
解释:T是Type是简写,该处填写某一数据类型。
1、通过泛型可以限定集合中存储数据的类型。
2、ToArray();//返回值类型自动对应设定的类型。
Dictionary:
举例:Dictionary<TKey,TValues> dict = new Dictionary<TKey,TValues>();
解释:TKey和TValue是简写,该处填写某一数据类型
1、遍历key
foreach(TKey item in dict.Keys)
{
Console.WriteLine(item);
}
2、遍历value
foreach(TValue item in dict.Values)
{
Console.WriteLine(item);
}
3、同时遍历key和value
foreach(KeyValuePair<Tkey,TValue> kv in dict)
{
Console.WriteLine(kv.Key);
Console.WriteLine(kv.Value);
}
var关键字介绍:
var是一个“类型推断”,在程序编译的时候就已经替换成对应的数据类型,所以说var是一个强类型(在编译的时候已经可以确定数据类型了),而不是弱类型。
扩展:javascript中的var是弱类型。
相关文章推荐
- 黑马程序员________Java集合Map及其JDK1.5新特性泛型机制的学习笔记
- 黑马程序员--Java基础学习笔记【集合-List、泛型】
- 黑马程序员----Java集合框架学习笔记2 Map-工具类-泛型
- 黑马程序员------java学习笔记之集合
- 黑马程序员--Java笔记10--Collection集合、 Map集合、泛型
- (34)Java学习笔记——集合框架 / 泛型
- 黑马程序员--Java基础学习笔记【集合-Map】
- [C#]C#学习笔记-接口,集合与泛型
- 黑马程序员_学习笔记:11) Jdk5.0新特性:增强for循环、可变参数(...)、静态导入、枚举:关键字 enum、自动拆装箱、泛型
- 黑马程序员—Java基础加强学习笔记之泛型
- 黑马程序员——学习日记之泛型和集合框架工具类
- 黑马程序员_泛型学习笔记
- 黑马程序员_学习笔记第15天——TreeSet、泛型
- 黑马程序员-java学习笔记-泛型
- 黑马程序员——java学习笔记--集合框架
- 黑马程序员学习笔记——集合总结
- Java学习笔记——集合、泛型、异常
- 黑马程序员--Java基础学习笔记【集合-Set】
- 黑马程序员-java集合 学习笔记
- 黑马程序员-OC学习笔记-----Foundation框架(集合、NSNumber、NSDate)