一、回顧:
物件陣列要能夠排序,需要物件實現的介面是什麼?
實現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...