Java學習筆記()ArrayList
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