備注學(xué)院

          LuLu

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            5 隨筆 :: 50 文章 :: 16 評(píng)論 :: 0 Trackbacks

          System.Collections.ArrayList類是一個(gè)特殊的數(shù)組。通過(guò)添加和刪除元素,就可以動(dòng)態(tài)改變數(shù)組的長(zhǎng)度。

          一.優(yōu)點(diǎn)

          1。支持自動(dòng)改變大小的功能
          2??梢造`活的插入元素
          3??梢造`活的刪除元素

          二.局限性

          跟一般的數(shù)組比起來(lái),速度上差些

          三.添加元素

          1.publicvirtualintAdd(objectvalue);

          將對(duì)象添加到ArrayList的結(jié)尾處

          ArrayListaList=newArrayList();
          aList.Add("a");
          aList.Add("b");
          aList.Add("c");
          aList.Add("d");
          aList.Add("e");
          內(nèi)容為abcde

          2.publicvirtualvoidInsert(intindex,objectvalue);

          將元素插入ArrayList的指定索引處

          ArrayListaList=newArrayList();
          aList.Add("a");
          aList.Add("b");
          aList.Add("c");
          aList.Add("d");
          aList.Add("e");
          aList.Insert(0,"aa");

          結(jié)果為aaabcde

          3.publicvirtualvoidInsertRange(intindex,ICollectionc);

          將集合中的某個(gè)元素插入ArrayList的指定索引處

          ArrayListaList=newArrayList();
          aList.Add("a");
          aList.Add("b");
          aList.Add("c");
          aList.Add("d");
          aList.Add("e");
          ArrayListlist2=newArrayList();
          list2.Add("tt");
          list2.Add("ttt");
          aList.InsertRange(2,list2);

          結(jié)果為abtttttcde

          四.刪除

          a)publicvirtualvoidRemove(objectobj);

          從ArrayList中移除特定對(duì)象的第一個(gè)匹配項(xiàng),注意是第一個(gè)

          ArrayListaList=newArrayList();
          aList.Add("a");
          aList.Add("b");
          aList.Add("c");
          aList.Add("d");
          aList.Add("e");
          aList.Remove("a");

          結(jié)果為bcde

          2.publicvirtualvoidRemoveAt(intindex);

          移除ArrayList的指定索引處的元素

          aList.Add("a");
          aList.Add("b");
          aList.Add("c");
          aList.Add("d");
          aList.Add("e");
          aList.RemoveAt(0);

          結(jié)果為bcde

          3.publicvirtualvoidRemoveRange(intindex,intcount);

          從ArrayList中移除一定范圍的元素。Index表示索引,count表示從索引處開始的數(shù)目

          aList.Add("a");
          aList.Add("b");
          aList.Add("c");
          aList.Add("d");
          aList.Add("e");
          aList.RemoveRange(1,3);

          結(jié)果為ae

          4.publicvirtualvoidClear();

          從ArrayList中移除所有元素。

          五.排序

          a)publicvirtualvoidSort();

          對(duì)ArrayList或它的一部分中的元素進(jìn)行排序。

          ArrayListaList=newArrayList();
          aList.Add("e");
          aList.Add("a");
          aList.Add("b");
          aList.Add("c");
          aList.Add("d");
          DropDownList1.DataSource=aList;//DropDownListDropDownList1;
          DropDownList1.DataBind();

          結(jié)果為eabcd

          ArrayListaList=newArrayList();
          aList.Add("a");
          aList.Add("b");
          aList.Add("c");
          aList.Add("d");
          aList.Add("e");
          aList.Sort();//排序
          DropDownList1.DataSource=aList;//DropDownListDropDownList1;
          DropDownList1.DataBind();

          結(jié)果為abcde

          b)publicvirtualvoidReverse();

          將ArrayList或它的一部分中元素的順序反轉(zhuǎn)。

          ArrayListaList=newArrayList();
          aList.Add("a");
          aList.Add("b");
          aList.Add("c");
          aList.Add("d");
          aList.Add("e");
          aList.Reverse();//反轉(zhuǎn)
          DropDownList1.DataSource=aList;//DropDownListDropDownList1;
          DropDownList1.DataBind();
          結(jié)果為edcba

          六.查找

          a)publicvirtualintIndexOf(object);
          b)publicvirtualintIndexOf(object,int);
          c)publicvirtualintIndexOf(object,int,int);

          返回ArrayList或它的一部分中某個(gè)值的第一個(gè)匹配項(xiàng)的從零開始的索引。沒(méi)找到返回-1。

          ArrayListaList=newArrayList();
          aList.Add("a");
          aList.Add("b");
          aList.Add("c");
          aList.Add("d");
          aList.Add("e");
          intnIndex=aList.IndexOf(“a”);//1
          nIndex=aList.IndexOf(“p”);//沒(méi)找到,-1
          d)publicvirtualintLastIndexOf(object);
          e)publicvirtualintLastIndexOf(object,int);
          f)publicvirtualintLastIndexOf(object,int,int);

          返回ArrayList或它的一部分中某個(gè)值的最后一個(gè)匹配項(xiàng)的從零開始的索引。

          ArrayListaList=newArrayList();
          aList.Add("a");
          aList.Add("b");
          aList.Add("a");//同0
          aList.Add("d");
          aList.Add("e");
          intnIndex=aList.LastIndexOf("a");//值為2而不是0

          g)publicvirtualboolContains(objectitem);

          確定某個(gè)元素是否在ArrayList中。包含返回true,否則返回false

          七.其他

          1.publicvirtualintCapacity{get;set;}

          獲取或設(shè)置ArrayList可包含的元素?cái)?shù)。

          2.publicvirtualintCount{get;}

          獲取ArrayList中實(shí)際包含的元素?cái)?shù)。
          Capacity是ArrayList可以存儲(chǔ)的元素?cái)?shù)。Count是ArrayList中實(shí)際包含的元素?cái)?shù)。Capacity總是大于或等于Count。如果在添加元素時(shí),Count超過(guò)Capacity,則該列表的容量會(huì)通過(guò)自動(dòng)重新分配內(nèi)部數(shù)組加倍。
          如果Capacity的值顯式設(shè)置,則內(nèi)部數(shù)組也需要重新分配以容納指定的容量。如果Capacity被顯式設(shè)置為0,則公共語(yǔ)言運(yùn)行庫(kù)將其設(shè)置為默認(rèn)容量。默認(rèn)容量為16。
          在調(diào)用Clear后,Count為0,而此時(shí)Capacity切是默認(rèn)容量16,而不是0

          3.publicvirtualvoidTrimToSize();

          將容量設(shè)置為ArrayList中元素的實(shí)際數(shù)量。
          如果不向列表中添加新元素,則此方法可用于最小化列表的內(nèi)存系統(tǒng)開銷。
          若要完全清除列表中的所有元素,請(qǐng)?jiān)谡{(diào)用TrimToSize之前調(diào)用Clear方法。截去空ArrayList會(huì)將ArrayList的容量設(shè)置為默認(rèn)容量,而不是零。

          ArrayListaList=newArrayList();
          aList.Add("a");
          aList.Add("b");
          aList.Add("c");
          aList.Add("d");
          aList.Add("e");//Count=5,Capacity=16,
          aList.TrimToSize();//Count=Capacity=5;

          posted on 2008-08-07 10:03 smildlzj 閱讀(173) 評(píng)論(0)  編輯  收藏 所屬分類: C#
          主站蜘蛛池模板: 榆树市| 深圳市| 明溪县| 肥东县| 富源县| 秦皇岛市| 木兰县| 炉霍县| 凯里市| 谢通门县| 会理县| 井冈山市| 东宁县| 缙云县| 酉阳| 绿春县| 会昌县| 三亚市| 平阳县| 循化| 昌乐县| 墨江| 桃源县| 易门县| 阿图什市| 汾西县| 东至县| 阳新县| 揭东县| 奇台县| 彰化县| 依兰县| 吉林市| 乌兰察布市| 德阳市| 威海市| 泗阳县| 准格尔旗| 曲阳县| 金阳县| 琼海市|