日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

集合,stack,queue,dictionary,ArrayList,listT

發(fā)布時(shí)間:2025/5/22 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 集合,stack,queue,dictionary,ArrayList,listT 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

哎呀我去,昨天搞那個(gè)全排列和尋路算法搞得我腦袋都大了,忘寫博了,唉?,早起補(bǔ)上。。。。。。。

今天的東西挺多,但沒(méi)什么難度。

集合:創(chuàng)建和管理相關(guān)對(duì)象組的第?種?式就是:創(chuàng)建對(duì)象集合。
   集合提供?種靈活的處理?法。 與數(shù)組不同,處理的對(duì)
   象組可根據(jù)程序更改的需要?jiǎng)討B(tài)地增?和收縮。 對(duì)于某
   些集合,您可以為放?該集合的任何對(duì)象分配?個(gè)“鍵”,
   以便使?該鍵快速檢索對(duì)象。
   注意: 集合是類,因此必須聲明新集合后,才能向該集合
   中添加元素。集合分為兩種類型: ?泛型集合和泛型集合。
   使??泛型集合的 需引?: System.Collections命名空間。
   使?泛型集合需引?: System.Collections.Generic命名
   空間。

stack:Stack稱為棧,棧和隊(duì)列?常相似,只不過(guò)隊(duì)列是先進(jìn)
   先出,?棧中的數(shù)據(jù)添加和移除都在?端進(jìn)?,遵守棧
   中的數(shù)據(jù)則后進(jìn)先出。 Stack類實(shí)現(xiàn)了ICollection和
   IEnumerable接?。 定義如下:

Stack stack = new Stack(); Stack<int> stackInt = new Stack<int>();

    Push() 將對(duì)象插?Stack的頂部。(?棧操作)
    Pop() 移除并返回Stack頂部的對(duì)象 。(出棧操作)
    Peek() 返回位于Stack頂部的對(duì)象,但不移除。
    Contains() 確定某元素是否在Stack中。
    Clear() 從Stack中移除所有對(duì)象。
    Count 獲取Stack中包含的元素。

  1.后進(jìn)先出( LIFO)的?種數(shù)據(jù)結(jié)構(gòu)。
  2.隨著向 Stack 中添加元素,容量通過(guò)重新分配按需?動(dòng)
  增加。
  3.Stack 接受 null 作為有效值并且允許重復(fù)的元素。

Queue:Queue稱為隊(duì)列,隊(duì)列是這樣?種數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)有列
    表的?端插?,并由列表的另?端移除。就像單?道,
    只能從?段進(jìn),從?端出。 Queue類同樣也是實(shí)現(xiàn)了
    ICollection和IEnumerable接?。

Queue queue = new Queue(); Queue<string> queueString = new Queue<string>();

    Enqueue() 將對(duì)象添加到 Queue 的結(jié)尾處。
    Dequeue() 移除并返回位于 Queue 開(kāi)始處的對(duì)象。
    Peek() 返回位于 Queue 開(kāi)始處的對(duì)象但不將其移除。
    Clear() 從 Queue 中移除所有對(duì)象。
    Contains() 確定某元素是否在 Queue 中。
    Count 獲取 Queue 中包含的元素?cái)?shù)。

  1.先進(jìn)先出( FIFO)的?種數(shù)據(jù)結(jié)構(gòu)。
  2.隨著向Queue 中添加元素,容量通過(guò)重新分配按需?動(dòng)增加。 可通過(guò)調(diào)? TrimToSize 來(lái)減少容量。
  3.Stack 接受 null 作為有效值并且允許重復(fù)的元素。
  4.在AI尋路算法中經(jīng)常?的Queue。

Dictionary:Dictionary<TKey, TValue> 類稱為字典類,表?鍵和
      值的集合。其中TKey表?字典中的類型, Tvalue表?
      字典中的值類型。 Dictionary類實(shí)現(xiàn)了ICollection、
      IEnumerable、 IDictionary·接?。 定義如下:

Dictionary<string, int> dic = new Dictionary<string, int>();

    Add() 將指定的鍵和值添加到字典中。
    TryGetValue() 獲取與指定的鍵相關(guān)聯(lián)的值。
    Clear() 從 Dictionary<TKey, TValue> 中移除所有的鍵和值。
    Remove() 從 Dictionary<TKey, TValue> 中移除所指定的鍵的值。
    ContainsKey() 確定 Dictionary<TKey, TValue> 是否包含指定的鍵。
    ContainsValue() 確定 Dictionary<TKey, TValue> 是否包含特定值。
    Count 獲取Stack中包含的元素。
    Keys 獲取包含 Dictionary<TKey, TValue> 中的鍵的集合。
    Values 獲取包含 Dictionary<TKey, TValue> 中的值的集合。

  1.字典是?個(gè)泛型集合。
  2.TKey必須唯?。
  3.Value可以是變量,也可以是對(duì)象。

ArrayList:是?個(gè)特殊的數(shù)組。通過(guò)添加和刪除元素,就可
    以動(dòng)態(tài)改變數(shù)組的?度。 ArrayList并不是強(qiáng)類型, ArrayList
    可能并不總是提供特定任務(wù)的最佳性能。 ArrayList類實(shí)現(xiàn)了
    IList、 ICollection和IEnumerable接?。 定義如下:

ArrayList arraylist = new ArrayList();

    Add() 將對(duì)象添加到 ArrayList 的結(jié)尾處。
    Insert() 將元素插? ArrayList 的指定索引處。
    Remove() 從 ArrayList 中移除特定對(duì)象的第?個(gè)匹配項(xiàng)。
    RemoveAt() 移除 ArrayList 的指定索引處的元素。
    Reverse() 將整個(gè) ArrayList 中元素的順序反轉(zhuǎn)。
    Contains() 確定某元素是否在ArrayList中。
    Clear() 從 ArrayList 中移除所有元素。
    Count 獲取Stack中包含的元素。

  1.?持?動(dòng)改變??的功能。
  2.可以靈活的插?元素、刪除元素、訪問(wèn)元素。
  3.不是強(qiáng)類型,速度跟數(shù)組?起來(lái)要慢。

List<T>類:表?可通過(guò)索引訪問(wèn)的對(duì)象的強(qiáng)類型列表。 提供?
    于對(duì)列表進(jìn)?搜索、排序和操作的?法。 List<T>是ArrayList
    類的泛型等效類,該類使???可按需動(dòng)態(tài)增加的數(shù)組實(shí)現(xiàn)
    IList<T>泛型接?。 List<T>類同樣也是實(shí)現(xiàn)了ICollection、
    IEnumerable和IList接?。 定義如下:

List<int> list = new List<int>();


    Add() 將對(duì)象添加到 List<T> 的結(jié)尾處。
    Insert() 將元素插? List<T> 的指定索引處。
    Remove() 從 List<T> 中移除特定對(duì)象的第?個(gè)匹配項(xiàng)。
    RemoveAt() 從 List<T> 中移除特定對(duì)象的第?個(gè)匹配項(xiàng)。
    RemoveAll() 移除與指定的謂詞所定義的條件相匹配的所有元素。
    Reverse() 將整個(gè) List<T> 中元素的順序反轉(zhuǎn)。
    IndexOf(T) 搜索指定的對(duì)象,并返回整個(gè) List<T> 中第?個(gè)匹配項(xiàng)
    Sort() 的從零開(kāi)始的索引。 使?默認(rèn)?較器對(duì)整個(gè) List<T> 中的元素進(jìn)?排序。
    Contains() 確定某元素是否在ArrayList中。
    Clear() 從 List<T>中移除所有元素。
    Count 獲取Stack中包含的元素。

  1.于ArrayList相?, List<T>好并且是類型安全的。
  2. 若List<T> 類的類型 T 使?是完全相同的。 但是,如果要考慮實(shí)現(xiàn)和裝箱問(wèn)題。

?

在一個(gè)有限平面區(qū)域上(1000 * 1000)隨機(jī)生成有序的n個(gè)點(diǎn)(用結(jié)構(gòu)體表示點(diǎn)),將其保存在集合中,并排序public struct Point :IComparable{public int x;public int y;public Point(int x, int y){this.x = x;this.y = y;}public int CompareTo (object value){Point p = (Point) value;if (this.x > p.x) {return 1;}else if (this.x == p.x) {return 0;}else {return -1;}} }class Program
???   {
??????? static void Main(string[] args)
??????? {
       Random r
= new Random();int n = int.Parse(Console.ReadLine());List<Point> list = new List<Point>();for (int i = 0; i < n; i++) {list.Add(new Point(r.Next(1, 1000),r.Next(1, 1000)));}foreach (Point item in list) {Console.WriteLine("x:{0}, y:{1}", item.x, item.y);}list.Sort();foreach (Point item in list) {Console.WriteLine("x:{0}, y:{1}", item.x, item.y);}
    }
  }

?

轉(zhuǎn)載于:https://www.cnblogs.com/little-sun/p/4349370.html

總結(jié)

以上是生活随笔為你收集整理的集合,stack,queue,dictionary,ArrayList,listT的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。