網站首頁 編程語言 正文
一:ArrayList 類簡單說明
動態數組ArrayList類在System.Collecions的命名空間下,所以使用時要加入System.Collecions命名空間,而且ArrayList提供添加,插入或移除某一范圍元素的方法。ArrayList代表了可被單獨索引的對象的有序集合。它基本上可以替代一個數組。但是,與數組不同的是,您可以使用索引在指定的位置添加和移除項目,動態數組會自動重新調整它的大小。它也允許在列表中進行動態內存分配、增加、搜索、排序 各項。
二:ArrayList 類的構造函數
構造函數 | 構造函數說明 |
---|---|
ArrayList() | 初始化 ArrayList 類的新實例,該實例為空并且具有默認初始容量。 |
ArrayList(ICollection) | 初始化 ArrayList 類的新實例,該類包含從指定集合復制的元素,并具有與復制的元素數相同的初始容量。 |
ArrayList(Int32) | 初始化 ArrayList 類的新實例,該實例為空并且具有指定的初始容量。 |
三:ArrayList 類的屬性
屬性 | 屬性說明 |
---|---|
Capacity | 獲取或設置 ArrayList 可包含的元素數。 |
Count | 獲取 ArrayList 中實際包含的元素數。 |
IsFixedSize | 獲取一個值,該值指示 ArrayList 是否具有固定大小。 |
IsReadOnly | 獲取一個值,該值指示 ArrayList 是否為只讀。 |
IsSynchronized | 獲取一個值,該值指示是否同步對 ArrayList 的訪問(線程安全) |
Item[Int32] | 獲取或設置指定索引處的元素。 |
SyncRoot | 獲取可用于同步對 ArrayList 的訪問的對象。 |
1:使用舉例說明
// 創建一個空的ArrayList,并添加一些元素.
ArrayList stringList = new ArrayList();
stringList.Add("a");
stringList.Add("abc");
stringList.Add("abcdef");
stringList.Add("abcdefg");
Console.WriteLine("Element {0} is \"{1}\"", 2, stringList[2]);
try
{
Console.WriteLine("Element {0} is \"{1}\"", 4, stringList[4]);
}
catch (ArgumentOutOfRangeException aoore)
{
Console.WriteLine("stringList({0}) is out of range.", 4);
}
運行結果:
Element 2 is "abcdef"
stringList(4) is out of range.
四:ArrayList 類的常用方法
方法 | 方法說明 |
---|---|
Add(Object) | 將對象添加到 ArrayList 的結尾處。 |
AddRange(ICollection) | 將 ICollection 的元素添加到 ArrayList 的末尾。 |
Clear() | 從 ArrayList 中移除所有元素。 |
Clone() | 創建 ArrayList 的淺表副本。 |
Contains(Object) | 確定某元素是否在 ArrayList 中。 |
CopyTo(Array) | 從目標數組的開頭開始,將整個 ArrayList 復制到兼容的一維 Array。 |
Equals(Object) | 確定指定對象是否等于當前對象。 |
GetRange(Int32, Int32) | 返回一個 ArrayList,它表示源 ArrayList 中的元素子集。 |
IndexOf(Object) | 搜索指定的 Object,并返回整個 ArrayList 中第一個匹配項的從零開始的索引。 |
LastIndexOf(Object) | 在整個 ArrayList 中搜索指定的 Object,并返回最后一個匹配項的從零開始的索引。 |
Insert(Int32, Object) | 將元素插入 ArrayList 的指定索引處。 |
Remove(Object) | 從 ArrayList 中移除特定對象的第一個匹配項。 |
RemoveAt(Int32) | 移除 ArrayList 的指定索引處的元素。 |
Reverse() | 將整個 ArrayList 中元素的順序反轉。 |
Sort() | 對整個 ArrayList 中的元素進行排序。 |
ToArray() | 將 ArrayList 的元素復制到新 Object 數組中。 |
ToString() | 返回表示當前對象的字符串。 |
1: AddRange(ICollection)方法使用舉例
// 創建并初始化新的ArrayList
ArrayList myAL = new ArrayList();
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");
// 創建并初始化新隊列.
Queue myQueue = new Queue();
myQueue.Enqueue("and");
myQueue.Enqueue("new arraylist");
// 將隊列元素復制到ArrayList的末尾.
myAL.AddRange(myQueue);
foreach (Object obj in myAL)
{
Console.Write("{0} ",obj);
}
運行結果:
ab cd efg and new arraylist
2: ArrayList.Clone() 方法使用舉例
// 創建并初始化新的ArrayList
ArrayList myAL = new ArrayList();
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");
// 克隆動態數組到新的動態數組里.
ArrayList newArray = (ArrayList)myAL.Clone();
foreach (Object obj in newArray)
{
Console.Write("{0} ",obj);
}
運行結果:
ab cd efg
3:ArrayList.Remove(Object) 使用舉例
ArrayList myAL = new ArrayList();
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");
myAL.Add(true);
myAL.Remove(true);//移除單個元素
foreach (Object obj in myAL)
{
Console.Write("{0} ", obj);
}
運行結果:
ab cd efg
4:ArrayList.RemoveAt(Int32) 使用舉例
ArrayList myAL = new ArrayList();
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");
myAL.RemoveAt(1);//根據下標號刪除元素
foreach (Object obj in myAL)
{
Console.Write("{0} ", obj);
}
運行結果:
ab efg
5:ArrayList.RemoveAt(Int32) 使用舉例
ArrayList myAL = new ArrayList();
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");
myAL.Add("lm");
myAL.Add("nopq");
myAL.RemoveRange(1,3);//根據下標范圍刪除元素
foreach (Object obj in myAL)
{
Console.Write("{0} ", obj);
}
運行結果:
ab nopq
6:ArrayList.Reverse() 使用舉例
ArrayList myAL = new ArrayList();
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");
myAL.Reverse();//反轉所有元素
foreach (Object obj in myAL)
{
Console.Write("{0} ", obj);
}
運行結果:
efg cd ab
7:ArrayList.Insert(Int32, Object)使用舉例
ArrayList myAL = new ArrayList();
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");
myAL.Insert(2,"new");
foreach (Object obj in myAL)
{
Console.Write("{0} ", obj);
}
運行結果:
ab cd new efg
8:ArrayList.InsertRange(Int32, ICollection) 使用舉例
ArrayList myAL = new ArrayList();
int[] shuzu= {1,2,3,4,5};
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");
myAL.InsertRange(2, shuzu);//指定位置,插入集合
foreach (Object obj in myAL)
{
Console.Write("{0} ", obj);
}
運行結果:
ab cd 1 2 3 4 5 efg
9:ArrayList.Contains(Object) 使用舉例
ArrayList myAL = new ArrayList();
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");
myAL.Add("nopq");
bool b = myAL.Contains("nopq");//是否包含指定元素
Console.WriteLine("是否包含nopq = {0}", b);
運行結果:
是否包含nopq = true
原文鏈接:https://blog.csdn.net/u010033786/article/details/126861070
相關推薦
- 2022-12-07 C++游戲教程基本技巧之隨機化詳解_C 語言
- 2022-03-17 分布式數據存儲系統的三要素_數據庫其它
- 2022-08-23 Pandas?Matplotlib保存圖形時坐標軸標簽太長導致顯示不全問題的解決_python
- 2022-09-16 Android12四大組件之Activity生命周期變化詳解_Android
- 2022-06-04 如何通過一篇文章了解Python中的生成器_python
- 2022-12-04 WxPython界面利用pubsub如何實現多線程控制_python
- 2022-05-06 Python判斷字符串中是否是中英文文小技巧
- 2023-05-14 Python中數字(Number)數據類型常用操作_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支