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