日度归档:2020年9月22日

C#集合之Hashtable哈希表(散列表)简介说明


摘要:
下文讲述c#中Hashtable类哈希表(散列表)的简介说明,如下所示;


c# Hashtable类哈希表(散列表)简介

c# Hashtable哈希表(散列表)是c#中经常使用的一种数据结构,
C# Hashtable实现IDictionary 接口
C# Hashtable集合中的值按照键值对的方式存储

   Hashtable大白话:
      Hashtable中有两个数组:
       1个数组存放了key值
       1个数组存放了value值
       并且Hashtable还提供了使用key获取出value值的方法
 

Hashtable常用的构造函数方法如下:

Hashtable 对象名 = new Hashtable();

常见的Hashtable哈希表(散列表)的方法:

属性或方法名

备注说明
Count

返回Hashtable中元素个数
void Add(object key,object value)

向Hashtable中添加元素
void Remove(object key)

根据key值移除对应的Hashtable中的元素
void Clear()

清空Hashtable集合
ContainsKey (object key)

根据key值检测Hashtable中是否包含指定元素
ContainsValue(object value)

根据value值检测Hashtable中是否包含指定元素

例:
Hashtable哈希表(散列表)示例

 using System;
using System.Collections;

namespace consoleTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("maomao365.com示例分享");

            Hashtable h = new Hashtable();
            h.Add(10, "猫猫教程");
            h.Add(20, "maomao365.com");
            h.Add(30, "个人博客");

            if (h.ContainsKey(20))
            {
                Console.WriteLine("Hashtable包含key:20");
            }

            Console.WriteLine("Hashtable元素个数:" + h.Count.ToString());


            Console.ReadLine();
        }
    }
}
c#中Hashtable示例分享

c#中Hashtable示例分享

C#集合之Stack类(堆栈)简介说明


摘要:
下文讲述c#中Stack堆栈的简介说明,如下所示;


c# Stack堆栈简介

c# Stack堆栈是c#中经常使用的一种数据结构,

   它执行的是一种后进先出的模式,元素从尾部插入,也从尾部移除
 

Stack构造函数说明:
Stack有以下构造函数,如下:

构造函数

备注说明
Stack()

采用系统默认容量创建Stack对象
Stack(ICollection c)

创建Stack的实例,其大小,增长方式都同集合c相同,当然初始内容也和集合c的内容相同
Stack(int capacity)

创建容量为capacity的Stack

常见的Stack集合类的方法:

属性或方法名

备注说明
Push(object obj)

向栈中添加元素–入栈
object Peek()

用于获取栈顶元素的值,但不移除栈顶元素的值
object Pop()

用于移除栈顶元素的值,并移除栈顶元素—出栈
Clear()

清空Stack中所有元素
Contains(object obj)

检测某个元素是否在Stack 中
object[] ToArray()

将Stack转换为一个新数组

例:
Stack集合示例

using System;
using System.Collections;

namespace consoleTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("maomao365.com示例分享");

            //堆栈后进先出示例分享
            Stack stack = new Stack();
            //向栈中存放元素
            stack.Push("maomao365.com-1");
            stack.Push("maomao365.com-2");
            stack.Push("maomao365.com-3");
            stack.Push("猫猫教程-4");
            stack.Push("猫猫教程-5");
            Console.WriteLine("出栈:");
            //判断栈中是否有元素
            while (stack.Count != 0)
            {
                //取出栈中的元素
                Console.WriteLine(stack.Pop());
            }

            Console.ReadLine();
        }
    }
}
c#集合之Stack类堆栈示例分享

c#集合之Stack类堆栈示例分享

C#集合之Queue类–队列简介说明


摘要:
下文讲述c#中Queue集合的简介说明,如下所示;


Queue集合的简介

Queue集合是c#中常见的数据结构队列。

   它是一个先进先出的结构,元素从队列的尾部加入,从队列的头部移除

Queue集合拥有以下四种构造方法,如下所示:

构造方法

备注说明
Queue()

创建Queue实例,集合的默认初始容量为32个元素
Queue(ICollection c)

创建Queue实例,包含从c集合中复制的元素,初始大小为c集合中的元素
Queue(int length)

创建Queue实例,设置其元素个数
Queue(int length,float growFactor)

创建Queue实例,长度为length,每次增长值为:当前容量*growFactor

如:

//构造方式1
Queue queueq1 = new Queue();
//构造方式2
Queue queueq2 = new Queue(queue1);
//构造方式3
Queue queueq3 = new Queue(80);
//构造方式4
Queue queueq4 = new Queue(80,4);

Queue集合类中常见的属性及方法:

属性或方法

备注说明
Count 属性

返回Queue中元素个数
void Clear()

清空Queue中元素
bool Contains(object obj)

检测Queue集合中是否包含obj元素,包含则返回true,否则返回false
void CopyTo(Array array, int index)

将array 数组从指定索引处的元素开始复制到 Queue 实例中
object Dequeue()

移除并返回位于Queue实例开始位置的元素
void Enqueue(object obj)

将元素添加到Queue实例的结尾处
object Peek()

返回位于Queue实例开始处的对象但不将其移除
object[] ToArray()

将Queue实例中的元素复制到新数组
void TrimToSize()

将容量设置为Queue实例中元素的实际数目
IEnumerator GetEnumerator()

返回循环访问Queue实例的枚举数

Queue集合类(队列)的示例分享

using System;
using System.Collections;

namespace consoleTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("maomao365.com示例分享");
 
                Queue queue = new Queue();
                //向队列中加入3为购票人
                queue.Enqueue("maomao365.com");
                queue.Enqueue("猫猫教程");
                queue.Enqueue("maomao");
                Console.WriteLine("循环队列:");
                //当队列中没有人时购票结束
                while (queue.Count != 0)
                {
                    Console.WriteLine(queue.Dequeue());
                }
                Console.WriteLine("队列结束!");
             

        Console.ReadLine();
        }
    }
}
c#集合之Queue类示例分享

c#集合之Queue类示例分享