C 動態陣列ArrayList

2022-08-28 03:15:16 字數 2825 閱讀 8706

在c#中,如果需要陣列的長度和元素的個數隨著程式的執行不斷改變,就可以使用arraylist類,該類是乙個可以動態增減成員的陣列。

一、arraylist類的常用屬性和方法

1. arraylist類的常用屬性

2. arraylist類的常用方法

二、arraylist類與array類的區別

?arraylist類實際上是array類的優化版本。

?arraylist只能定義一維陣列,arrays可以定義多維陣列。

?arraylist的下限始終為0,array可以定義自己的下限。

?arraylist的元素都是object型別的,因此需要進行裝箱和拆箱操作,記憶體分配的代價很高,而array的元素通常是特定型別的。

?arraylist的元素個數可以自動擴充套件,array的元素個數是固定的。

?arraylist具有新增、刪除、插入、移動和複製等方法。

三、示例

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.collections; // 匯入arraylist的命名空間

namespace test

console.writeline();

console.writeline("實際包含的陣列元素個數:" + alist.count);

console.writeline("目前能夠包含的陣列元素的最多個數:"+alist.capacity);

alist.insert(1, " c#"); // 在指定的索引位置插入元素c#

console.write("在索引值為1的位置插入:");

foreach (object obj in alist)

console.writeline();

console.writeline("實際包含的陣列元素個數:" + alist.count);

console.writeline("目前能夠包含的陣列元素的最多個數:"+alist.capacity);

alist.add("。");

console.writeline("新增。");

console.writeline("目前能夠包含的陣列元素的最多個數:"+alist.capacity);

alist.add("---"); // 集合容量不夠時,會出現位數的變化

console.writeline("新增---");

console.writeline("實際包含的陣列元素個數:" + alist.count);

console.writeline("目前能夠包含的陣列元素的最多個數:"+alist.capacity);

// 用索引方式獲取集合元素值

console.writeline("3號索引的:" + alist[3]);

// 利用contains方法,查詢集合中是否包含「?」

console.writeline("陣列中是否包含?:" + alist.contains("?"));

console.write("經過前面操作後的資料元素:");

foreach (object obj in alist)

console.writeline();

console.writeline("實際包含的陣列元素個數:" + alist.count);

console.writeline("目前能夠包含的陣列元素的最多個數:"+alist.capacity);

alist.remove("。"); // 移除集合中的「。」元素

alist.remove("?");  // 移除集合中的「?」元素

console.writeline("沒有包含?,減少1個元素,容量不變");

foreach (object obj in alist)

console.writeline();

console.writeline("實際包含的陣列元素個數:" + alist.count);

console.writeline("目前能夠包含的陣列元素的最多個數:"+alist.capacity);

alist.removeat(3);  // 移除3號索引位的元素

console.write("移除3號索引位的元素:");

foreach (object obj in alist)

console.writeline();

console.writeline("實際包含的陣列元素個數:" + alist.count);

console.writeline("目前能夠包含的陣列元素的最多個數:"+alist.capacity);

alist.trimtosize();  // 縮減容量

console.writeline("目前能夠包含的陣列元素的最多個數:"+alist.capacity);

alist.clear();       // 清除arraylist中的所有元素

console.writeline("清除arraylist中的所有元素後:");

console.writeline("實際包含的陣列元素個數:" + alist.count);

console.writeline("目前能夠包含的陣列元素的最多個數:"+alist.capacity);

alist.trimtosize();  // 再次縮減容量

console.writeline("再次縮減容量後,能夠包含的陣列元素的最多個數:"

+alist.capacity);

console.readline();}}

}執行結果:

C 動態陣列ArrayList介紹

arraylist是一種動態陣列,其容量可隨著我們的需要自動進行擴充.arraylist位於system.collections命名空間中,所以我們在使用時,需要匯入此命名空間.下面,我們還是在student類的基礎上利用arraylist操作,從而了解arraylist的用法 code publi...

C 動態陣列ArrayList介紹

arraylist是一種動態陣列,其容量可隨著我們的需要自動進行擴充.arraylist位於system.collections命名空間中,所以我們在使用時,需要匯入此命名空間.下面,我們還是在student類的基礎上利用arraylist操作,從而了解arraylist的用法 public cla...

C 中的動態陣列ArrayList

arraylist就是實現了ilist,icollection,ienumerable,icloneable這幾個介面的動態陣列。即使.netframwork提供了一些更耐用更受歡迎的新的類,arraylist仍然十分有用。下面是一些在c 中使用arraylist的例項,一起看看其基本用法和一些高階...