一.簡介
Java.util.ArrayList類是一個動態數組類型,可以隨時從鏈表中添加或刪除一個元素。ArrayList實現了List接口並且可以動態改變大小的。當我們不知道數據元素的個數時,就可使用ArrayList;如果知道數據元素個數,就可以直接用數組。
二.實現
List<String> lists = new ArrayList<String>();(其中的String可以改為integer,double等類型)
注:ArrayList對象只能存放對象,不能存放基礎數據類型的數據。
三.構造函數
ArrayList中定義了三種構造方法
1.ArrayList()----------------構造了空的鏈表。
2.ArrayList(Collection<? extends E> c)------構造了一個包含指定元素集合的鏈表,字符E是一個標記,用來表示集合中元素的類型。
3.ArrayList(int initialCapacity)---------構造了一個大小確定但內容為空的鏈表。initialCapacity參數表示初始容量大小。
四.常用的一些方法
1.添加元素
(1)在List尾部添加元素
void add(E element);
(2)在指定位置添加元素
void add(int index, E element);
(3)插入其他集合全部的元素
Boolean ArrayList(int index, Collection<? extends E> c);
2.刪除元素
(1)刪除所有元素
void clear();
(2)刪除指定元素
E remove(int index);
(3)刪除從某一個位置開始到某一個位置結束的元素
protected void removeRange(int start, int end);
3.修改元素
E set(int index, E element);
4.獲取(查詢)元素
(1)查詢指定范圍內的元素
List subList(int fromIndex, int toIndex);
(2)查詢指定位置的元素
E get(int index)
(3)查詢元素位置
int indexOf(Object a);----輸出list集合中第一次出現a的位置,若list集合中沒有a對象,則返回-1
lastIndexOf(Object a); ----輸出list集合中最后一次出現a的位置,若list集合中沒有a對象,則返回-1
(4)是否包含某個特定的元素
Boolean contains(Object a);
5.檢查該數組是否為空
boolean isEmpty();--返回true表示沒有任何元素。
6.獲取該數組的長度(包含元素的個數)
int size();
五.代碼實例
1 package 日常練習; 2 import java.util.*; 3 public class ArrayListshili { 4 public static void main(String[] args) { 5 ArrayList<String> list=new ArrayList<String>();//實例化list 6 7 //添加元素 8 list.add(0,"a");//把"a"添加到list數組的第1個位置。 9 list.add(1,"b");//把"b"添加到list數組的第2個位置。 10 list.add(2,"c");//把"c"添加到list數組的第3個位置。 11 list.add(3,"a"); 12 list.add("d");//在list數組尾部添加"d" 13 14 //輸出list數組中的數據 15 System.out.println("數組中包含的元素有:"+list); 16 17 //修改元素 18 list.set(2,"h");//將第二個位置的數據改為"h" 19 20 //刪除元素 21 list.remove(0);//刪除第“0”個位置上的元素 22 list.remove("c");//刪除第一次找到的“c”元素 23 System.out.println("新數組是:"+list); 24 25 //查詢元素 26 List<String> wz=list.subList(0, 2);//查詢0-2中的元素 27 String wc=list.get(1);//查詢1處的元素 28 int n=list.indexOf("a");//a第一次出現的位置 29 int nl=list.lastIndexOf("a");//a最后一次出現的位置 30 System.out.println("0-2中的元素有:"+wz); 31 System.out.println("1處的元素為:"+wc); 32 System.out.println("是否包含e: "+ list.contains("e")); 33 System.out.println("a第一次出現的位置:"+n+"\t"+"a最后一次出現的位置:"+nl); 34 35 //清空 36 System.out.println("list是否為空:"+list.isEmpty()); 37 list.clear(); 38 System.out.println("list是否為空:"+list.isEmpty()); }}
六.簡單應用
package 日常練習; //已知數列前幾項為:1,1,1,3,5,9....從第四項起每一項為前三項之和,求用戶輸入項數所對應元素的后四位。 import java.awt.List; import java.util.*; public class 數列求值 { public static void main(String[] args) { Scanner s=new Scanner(System.in); int n=s.nextInt(); ArrayList<Integer> d=new ArrayList<Integer>(); d.add(0,1); d.add(1,1); d.add(2,1); for(int i=3;i<n;i++) { d.add(i,(d.get(i-1)+d.get(i-2)+d.get(i-3))%10000); } System.out.println(d.get(n-1)); } }

