C#语言学习--基础部分(十七)集合ArrayList,Queue,Stack,SortedList,Hashtable

Console Demo

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace CollectionDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            //ArrayListTest();
            
//QueueTest();
            
//StackTest();
            
//SortedListTest();
            
//HashTableTest();
        }
        //ArrayList所存储的类型都是object类型.
        static void ArrayListTest() {
            ArrayList number = new ArrayList();
            foreach (int temp in new int[8] { 54,522355476342 })
            {
                number.Add(temp); 
            }
            Console.WriteLine("ArrayList.Count="+number.Count);
            number.Insert(number.Count - 110000);//可以插入到任意位置
            number.Add(88888); //在尾部依次插入.
            foreach (int temp in number)
            {
                Console.WriteLine(temp);
            }
            //remove 移除第一个和其相等的值
            number.Remove(5);
            foreach (int temp in number) //已经隐式转换过
            {
                Console.WriteLine(temp);
            }
            //removeAt移除第某个元素的值
            number.RemoveAt(8);
            foreach (int temp in number)
            {
                Console.WriteLine(temp);
            }
            number.Add("abcdefg");
            foreach (object o in number)
            {
                Console.WriteLine(o);
            }
        }
        //队列--先进先出
        static void QueueTest()
        {
            Queue numbers = new Queue();
            foreach (int number in new int[5] { 351247 })
            {
                numbers.Enqueue(number); //入队操作
            }
            foreach (int temp in numbers)
            {
                Console.WriteLine(temp);
            }
            Console.WriteLine("----------------------------------------");
            numbers.Enqueue("abcdefg");
            foreach (object o in numbers) //不是出队的操作,而是一个循环遍历的操作
            {
                Console.WriteLine(o);
            }
            Console.WriteLine("-----------------------");
            int temp1=int.Parse(numbers.Dequeue().ToString()); //出队,不但能够取得第一个元素,而且还把第一个元素给删除掉了.
            Console.WriteLine("Dequeue:"+temp1);
            Console.WriteLine("-----------------------");
            foreach (object o in numbers)
            {
                Console.WriteLine(o);
            }
        }
        //栈--先进后出
        static void StackTest()
        {
            Stack stack = new Stack();
            foreach (int i in new int[5] { 54321 })
            {
                stack.Push(i);
            }
            foreach (int i in stack) //不是出栈的操作,而是一个循环遍历的操作
            {
                Console.WriteLine(i);
            }
         int test=  int.Parse( stack.Pop().ToString()); //出栈
         Console.WriteLine("Pop:"+test);
        }
        //SortedList
        static void SortedListTest()
        {
            SortedList sortedList = new SortedList();
            sortedList["aa"] = 1234;
            sortedList["dd"] = 4567;
            sortedList["ee"] = 8977;
            sortedList["cc"] = 9988;
            sortedList["bb"] = 8899;
            foreach (DictionaryEntry emlement in sortedList) //有序输出
            {
                Console.WriteLine("Key:{0},Value:{1}",emlement.Key,emlement.Value);
            }
        }
       //HashTable
        static void HashTableTest()
        {
            Hashtable hashTable = new Hashtable();
            hashTable["aa"] = 1234;
            hashTable["cc"] = 3456;
            hashTable["dd"] = 5678;
            hashTable["bb"] = 4321;
            foreach (DictionaryEntry emlement in hashTable)//无序输出
            {
                Console.WriteLine("Key:{0},Value:{1}", emlement.Key, emlement.Value);
            }  

        }
            
    }
}

 

posted on 2012-08-29 22:11  松波  阅读(178)  评论(0编辑  收藏  举报

导航