集合类型

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();
        }
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值