集合與列表

2021-06-01 12:47:42 字數 2463 閱讀 7751

一、回顧:

物件陣列要能夠排序,需要物件實現的介面是什麼?

實現icomparable介面的compareto方法。可以使用array類的sort方法實現排序。

二、system.collections命名空間

1.雜湊表(hashtable)

雜湊表:表示鍵/值對的集合,這些鍵/值對根據鍵的雜湊**進行組織。

hashtable實現了idictionary介面,因此在hashtable中儲存的是dictionaryentry型別。

舉例    person zhang = new person("張","三");

person li = new person("李", "四");

person wang = new person("王", "五");

hashtable hash = new hashtable();

hash.add("zhang", zhang);

hash.add("li", li);

hash.add("wang", wang);

foreach (dictionaryentry p in hash)

response.write("----------------

");foreach (person p in hash.values)  //values為person的集合

2.sortedlist:自己排好序了

sortedlist與hashtable類似,也是乙個關鍵字/值對的集合,但它按照其關鍵字來排序,其值可以通過數字索引來處理,與陣列一樣。

sortedlist list = new sortedlist();

list.add("d", zhang);

list.add("b", li);

list.add("c", wang);

int index = list.indexofkey("d");

response.write(index + "

");index = list.indexofvalue(zhang);

response.write(index + "

");person p = (person)list.getbyindex(index);

person pp = (person)list["d"];

3.queue

queue表示物件的先進先出集合。儲存訊息方面非常有用,以便於進行順序處理。

queue qu = new queue();

qu.enqueue("hello ");

qu.enqueue("world ");

qu.enqueue("!");

int nums = qu.count;

for (int i = 0; i < nums; i++)

response.write(qu.dequeue().tostring());

response.write("------------------

");foreach (string str in qu)

4.stack

stack和queue相反,表示物件的簡單的後進先出非泛型集合。

stack sk = new stack();

sk.push("hello ");

sk.push("world ");

sk.push("!");

int nums = sk.count;

for (int i = 0; i < nums; i++) //典型的後進先出結構

5.強型別列表

listlist = new list();

listlisti = new list();

listlists = new list();

#region

person zhang = new person("張", "三");

person li = new person("李", "四");

person wang = new person("王", "五");

//arraylist list = new arraylist();

//強型別列表,personlist中只能儲存person物件,使用時可以避免強制轉換時出錯

版本以後引入泛型概念,使用泛型列表可以解決這些問題

personlist list = new personlist();

list.add(zhang);

list.add(li);

list.add(wang);

for (int i = 0; i < list.count; i++)

#endregion

public class personlist:ienumerable

public void add(person p)

public int count

}public person this[int index]

set}    

集合與列表

陣列是基本的集合,遍歷集合常用的方法是foreach和for迴圈 查詢陣列中的物件 person persons new person 3 person zs new person 張 三 person zs1 new person 張 三 response.write zs.equals zs1 ...

集合與列表

陣列是基本的集合,遍歷集合常用的方法是foreach和 for迴圈,使用foreach語句時,編譯好的中間語言 與使用 for的 相同。除非需要一些複雜的操作,如逆序迭代或每隔 一項進行迭代,否則應使用foreach迭代陣列和大多數集合,特定語言的編譯器會處理這種情況,不容易出錯,且易於 理解。重寫...

列表與集合

dict1 print dict1 輸出結果為 集合中元素唯一 print dict1 3 集合不支援根據下標讀取 故該語法錯誤 list1 1,2,3,5,5 print list1 list1 dict1 set list1 將列表list1轉換為資料唯一的集合 print dict1 dict...