1. 程式人生 > >Java學習筆記()ArrayList

Java學習筆記()ArrayList

新的 str value 簡單的 list() move 插入 PE 似的

1、什麽是ArrayList
ArrayList就是傳說中的動態數組,用MSDN中的說法,就是Array的復雜版本,它提供了如下一些好處: 動態的增加和減少元素 實現了ICollection和IList接口
靈活的設置數組的大小。

2、如何使用ArrayList

最簡單的例子:

ArrayList List = new ArrayList();
for( int i=0;i <10;i++ ) //給數組增加10個Int元素
List.Add(i);

// Point類型

ArrayList<Point> list = new ArrayList<Point>();

List.RemoveAt(5);//將第6個元素移除
for( int i=0;i <3;i++ ) //再增加3個元素
List.Add(i+20);
Int32[] values = (Int32[])List.ToArray(typeof(Int32));//返回ArrayList包含的數組

Iterator(叠代器)

就像是C語言中的鏈表一樣。它是一個對象,它可以遍歷並選擇序列中的對象

 Java中的Iterator功能比較簡單,並且只能單向移動:

  (1) 使用方法iterator()要求容器返回一個Iterator。第一次調用Iterator的next()方法時,它返回序列的第一個元素。註意:iterator()方法是java.lang.Iterable接口,被Collection繼承。

  (2) 使用next()獲得序列中的下一個元素。

  (3) 使用hasNext()檢查序列中是否還有元素。

  (4) 使用remove()將叠代器新返回的元素刪除。

  Iterator是Java叠代器最簡單的實現,為List設計的ListIterator具有更多的功能,它可以從兩個方向遍歷List,也可以從List中插入和刪除元素。

叠代器應用:

 List l = new ArrayList();
 l.add("aa");
 l.add("bb");
 l.add("cc");
 for (Iterator iter = l.iterator(); iter.hasNext();) {
  String str 
= (String)iter.next(); System.out.println(str); } /*叠代器用於while循環 Iterator iter = l.iterator(); while(iter.hasNext()){ String str = (String) iter.next(); System.out.println(str); }

3、ArrayList重要的方法和屬性


Add方法用於添加一個元素到當前列表的末尾
AddRange方法用於添加一批元素到當前列表的末尾
Remove方法用於刪除一個元素,通過元素本身的引用來刪除
RemoveAt方法用於刪除一個元素,通過索引值來刪除
RemoveRange用於刪除一批元素,通過指定開始的索引和刪除的數量來刪除
Insert用於添加一個元素到指定位置,列表後面的元素依次往後移動
InsertRange用於從指定位置開始添加一批元素,列表後面的元素依次往後移動

另外,還有幾個類似的方法:
Clear方法用於清除現有所有的元素
Contains方法用來查找某個對象在不在列表之中

ToArray方法
這個方法把ArrayList的元素Copy到一個新的數組中。

4、ArrayList與數組轉換
例1:
ArrayList List = new ArrayList();
List.Add(1);
List.Add(2);
List.Add(3);

Int32[] values = (Int32[])List.ToArray(typeof(Int32));

例2:
ArrayList List = new ArrayList();
List.Add(1);
List.Add(2);
List.Add(3);

Int32[] values = new Int32[List.Count];
List.CopyTo(values);

Java學習筆記()ArrayList