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] { 5, 4,5, 2, 235, 54, 76, 342 })
{
number.Add(temp);
}
Console.WriteLine("ArrayList.Count="+number.Count);
number.Insert(number.Count - 1, 10000);//可以插入到任意位置
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] { 3, 5, 12, 4, 7 })
{
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] { 5, 4, 3, 2, 1 })
{
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);
}
}
}
}
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] { 5, 4,5, 2, 235, 54, 76, 342 })
{
number.Add(temp);
}
Console.WriteLine("ArrayList.Count="+number.Count);
number.Insert(number.Count - 1, 10000);//可以插入到任意位置
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] { 3, 5, 12, 4, 7 })
{
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] { 5, 4, 3, 2, 1 })
{
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);
}
}
}
}