集合类型
来源:互联网 发布:嵌入式linux待遇 编辑:程序博客网 时间:2024/06/06 09:36
ASP.NET中有四种集合类型:ArrayList,HashTable,SortedList,Stack,在使用之前需引用命名空间using System.Collections;
ArrayList:不固定大小的对象组合,按照索引来访问;
HashTable:键值对的集合,根据键的哈希代码 进行组织,按照键来访问;
SortedList:键值对的集合,存入的元素会自动按照键进行排序,可以按照索引或者键来访问;
Stack:后进先出的对象集合。
对于ArrayList集合:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ArrayLists
{
class ArrayListHelper
{
private ArrayList list;
public ArrayList List
{
get { return list; }
set { list = value; }
}
/// <summary>
/// 构造函数
/// </summary>
public ArrayListHelper()
{
list=new ArrayList();
Console.WriteLine("-----------ArrayList---------");
}
/// <summary>
/// 添加一个元素
/// </summary>
/// <param name="o"></param>
public void Add(object o)
{
list.Add(o);
Console.WriteLine("加入/t元素:{0}",o);
}
/// <summary>
/// 删除一个元素
/// </summary>
/// <param name="o"></param>
public void Remove(object o)
{
list.Remove(o);
Console.WriteLine("删除/t元素:{0}", o);
}
public void RemoveAt(int i)
{
list.RemoveAt(i);
Console.WriteLine("删除/t第{0}个元素",i+1);
}
/// <summary>
/// 根据索引号得到一个元素
/// </summary>
/// <param name="i"></param>
public void GetValue(int i)
{
Console.WriteLine(string.Format("取值/t第{0}个元素的值:{1}",i+1,list[i]));
}
/// <summary>
/// 使用foreach进行遍历,其实使用for也可以
/// </summary>
public void GetValues()
{
Console.WriteLine("遍历");
for (int i = 0; i < list.Count; i++)
//foreach (int i in list)
{
Console.WriteLine(string.Format("取值/t第{0}个元素的值:{1}", i + 1, list[i]));
}
}
public void GetInfo()
{
Console.WriteLine(string.Format("信息/t元素总数:{0}/t可包含元素总数:{1}",list.Count,list.Capacity));
}
public void Sort()
{
list.Sort();
Console.WriteLine("排序");
}
static void Main(string[] args)
{
ArrayListHelper alh = new ArrayListHelper();
//增加三个元素
alh.Add("C");
alh.Add("B");
alh.Add("A");
//输出信息
alh.GetInfo();
//获取第一个元素
alh.GetValue(0);
//移除元素A
alh.Remove("A");
//遍历ArrayList
alh.GetValues();
//排序
alh.Sort();
//遍历ArrayList
alh.GetValues();
Console.Read();
}
}
}
对于哈希表
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ArrayLists
{
class ArrayListHelper
{
private ArrayList list;
public ArrayList List
{
get { return list; }
set { list = value; }
}
/// <summary>
/// 构造函数
/// </summary>
public ArrayListHelper()
{
list=new ArrayList();
Console.WriteLine("-----------ArrayList---------");
}
/// <summary>
/// 添加一个元素
/// </summary>
/// <param name="o"></param>
public void Add(object o)
{
list.Add(o);
Console.WriteLine("加入/t元素:{0}",o);
}
/// <summary>
/// 删除一个元素
/// </summary>
/// <param name="o"></param>
public void Remove(object o)
{
list.Remove(o);
Console.WriteLine("删除/t元素:{0}", o);
}
public void RemoveAt(int i)
{
list.RemoveAt(i);
Console.WriteLine("删除/t第{0}个元素",i+1);
}
/// <summary>
/// 根据索引号得到一个元素
/// </summary>
/// <param name="i"></param>
public void GetValue(int i)
{
Console.WriteLine(string.Format("取值/t第{0}个元素的值:{1}",i+1,list[i]));
}
/// <summary>
/// 使用foreach进行遍历,其实使用for也可以
/// </summary>
public void GetValues()
{
Console.WriteLine("遍历");
for (int i = 0; i < list.Count; i++)
//foreach (int i in list)
{
Console.WriteLine(string.Format("取值/t第{0}个元素的值:{1}", i + 1, list[i]));
}
}
public void GetInfo()
{
Console.WriteLine(string.Format("信息/t元素总数:{0}/t可包含元素总数:{1}",list.Count,list.Capacity));
}
public void Sort()
{
list.Sort();
Console.WriteLine("排序");
}
static void Main(string[] args)
{
ArrayListHelper alh = new ArrayListHelper();
//增加三个元素
alh.Add("C");
alh.Add("B");
alh.Add("A");
//输出信息
alh.GetInfo();
//获取第一个元素
alh.GetValue(0);
//移除元素A
alh.Remove("A");
//遍历ArrayList
alh.GetValues();
//排序
alh.Sort();
//遍历ArrayList
alh.GetValues();
Console.Read();
}
}
}
对于SortdeList
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace SortedLists
{
class SortedListHelper
{
private SortedList list;
public SortedList List
{
get { return list; }
set { list = value; }
}
public SortedListHelper()
{
list = new SortedList();
Console.WriteLine("-----------SortedList---------");
}
/// <summary>
/// 添加一个键值对
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
public void Add(object key, object value)
{
list.Add(key,value);
Console.WriteLine(string.Format("加入/t键:{0}/t值:{1}",key,value));
}
/// <summary>
/// 根据键删除一个键值对
/// </summary>
/// <param name="args"></param>
public void Remove(object key)
{
list.Remove(key);
Console.WriteLine(string.Format("删除/t键:{0}",key));
}
/// <summary>
/// 根据索引号删除一个元素
/// </summary>
/// <param name="i"></param>
public void RemoveAt(int i)
{
list.RemoveAt(i);
Console.WriteLine("删除/t第{0}个元素", i + 1);
}
/// <summary>
/// 根据键得到一个键值对
/// </summary>
/// <param name="key"></param>
public void GetValue(object key)
{
Console.WriteLine(string.Format("取值/t键{0}的值:{1}",key,list[key]));
}
/// <summary>
/// 根据索引号得到一个元素
/// </summary>
/// <param name="i"></param>
public void GetValueAt(int i)
{
Console.WriteLine(string.Format("取值/t第{0}个元素/t键:{1}/t值:{2}", i + 1, list.GetKey(i),list.GetByIndex(i)));
}
/// <summary>
/// 使用foreach遍历,每一个键值对是DictionaryEntry类型
/// </summary>
public void GetValues()
{
Console.WriteLine("遍历");
//for (int i = 0; i < list.Count; i++)
//{
// Console.WriteLine("/t键:{0}/t值:{1}", list.GetKey(i), list.GetByIndex(i));
//}
foreach (DictionaryEntry de in list)
Console.WriteLine("/t键:{0}/t值:{1}", de.Key, de.Value);
}
public void GetInfo()
{
Console.WriteLine(string.Format("信息/t元素总数:{0}/t可包含元素总数:{1}", list.Count, list.Capacity));
}
static void Main(string[] args)
{
SortedListHelper slh = new SortedListHelper();
//添加元素
slh.Add("1", "C");
slh.Add("2", "B");
slh.Add("3", "A");
//输出信息
slh.GetInfo();
Console.Read();
}
}
}
对于Stack
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace Stacks
{
class StackHelper
{
private Stack list;
public Stack List
{
get { return list; }
set { list = value; }
}
public StackHelper()
{
list = new Stack();
Console.WriteLine("-----------Stack---------");
}
/// <summary>
/// 压入一个元素
/// </summary>
/// <param name="o"></param>
public void Add(object o)
{
list.Push(o);
Console.WriteLine("压入/t元素:{0}",o);
}
/// <summary>
/// 删除顶部元素
/// </summary>
public void Remove()
{
list.Pop();
Console.WriteLine("删除顶部元素");
}
/// <summary>
/// 得到顶部元素的值
/// </summary>
public void GetValue()
{
Console.WriteLine(string.Format("取值/t顶部元素的值:{0}",list.Peek()));
}
/// <summary>
/// 遍历栈
/// </summary>
public void GetValues()
{
Console.WriteLine("遍历");
foreach(object o in list)
{
Console.WriteLine(string.Format("/t元素的值:{0}",o));
}
}
public void GetInfo()
{
Console.WriteLine(string.Format("信息/t元素总数:{0}",list.Count));
}
static void Main(string[] args)
{
StackHelper sh = new StackHelper();
//添加元素
sh.Add("C");
sh.Add("B");
sh.Add("A");
//得到元素信息
sh.GetInfo();
//遍历元素
sh.GetValues();
//得到顶部元素的值
sh.GetValue();
//删除顶部元素
sh.Remove();
sh.GetValues();
Console.Read();
}
}
}
- 集合类型
- 集合类型
- 集合类型
- 集合类型
- 弱类型集合和强类型集合
- Python映射类型、集合类型
- 哈希表集合类型[MSDN]
- Net集合类型
- ASPNET的集合类型
- oracle的集合类型
- .Net集合类型大全
- 泛型集合类型
- 集合接口和类型
- 映像和集合类型
- PL/SQL集合类型
- Groovy的集合类型
- oracle集合类型
- SQL类型操作集合
- linux下控制台中乱码解决
- Oracle exploit for CTXSYS.DRVXTABC.CREATE_TABLES and others
- mingw 编译静态链接x264的ffmpge
- stainless steel pipe
- VC:LINK2005错误原理-
- 集合类型
- SUN发布了VirtualBox3.1
- 克鲁伊夫:巴萨犯错仍取胜 皇马占优反不会踢球(2009-12-01)
- 程序员怎样学习英语
- 程序员惯用的解释(Top 25)
- 中国区域地图颜色
- assert用法总结
- 修改主机IP地址解析顺序
- Linux/Ubuntu chmod命令详解使用格式和方法