Java中ArrayList集合的常用方法大全

ArrayList集合的創建

非泛型

創建ArrayList集合對象,可以添加任意Object子類元素至集合

//非泛型創建的ArrayList集合對象可以保存任何類型的值
ArrayList list = new ArrayList();
list.add("str");//存入String類型數據
list.add(23);//存入int類型數據
list.add(2.5);//存入double類型數據
list.add('c');//存入char類型數據

泛型

采用泛型創建ArrayList集合對象,隻能添加泛型數據至集合

//泛型創建的ArrayList集合對象,隻能保存泛型數據
ArrayList<String> list1 = new ArrayList<String>();
//後面的泛型類型可以省略
ArrayList<String> list2 = new ArrayList<>();
list1.add("str1");
list1.add("str2");
//list1.add(23); 出現編譯錯誤,list1隻能存放String類型數據

ArrayList集合的初始化

無參構造

使用無參構造方法,按照空數組的方式初始化內部數組elementData

//內部數組為空
ArrayList<String> list = new ArrayList<String>(); 
//調用add()方法,空數組的長度變為10
list.add("str");

有參構造

使用有參構造方法,按照指定的容量,初始化內部數組elementData

//內部數組長度為38
ArrayList<String> list02 = new ArrayList<String>(38); 

常用方法

1.add()方法

作用:給集合添加元素;

參數:①需要添加的元素②下標位置,需要添加的元素;

返回:boolean類型值;

ArrayList<String> list = new ArrayList<String>();
// 添加元素(默認添加至集合的末尾)
list.add("str1");
list.add("str2");
System.out.println(list);//輸出:[str1, str2]
// 添加元素至指定位置(list"頭部"添加元素str3)
list.add(0,"str3");
System.out.println(list);//輸出:[str3, str1, str2]

2.addAll()方法

作用:給集合添加集合;

參數:①需要添加的集合;②下標位置,需要添加的集合;

返回:boolean類型值;

ArrayList<String> list1 = new ArrayList<String>();
list1.add("str1");
list1.add("str2");
ArrayList<String> list2 = new ArrayList<String>();
list2.add("str01");
list2.add("str02");
// 添加集合(默認添加至集合的末尾)
list1.addAll(list2);
System.out.println(list1);//輸出:[str1, str2, str01, str02]
// 添加集合至指定位置(list1"頭部"添加集合list2)
list1.add(0,list2);
//輸出:[str01, str02, str1, str2, str01, str02]
System.out.println(list1);

3.get()方法

作用:根據下標獲取集合中的元素;

參數:下標位置(0——(list.size()-1)之間);

返回:集合中的元素;

ArrayList<String> list = new ArrayList<String>();
list.add("str1");
list.add("str2");
list.add("str3");
list.add("str4");
String str=list.get(2);
System.out.println(str);//輸出:str3

4.size()方法

作用:獲取集合中的元素個數;

參數:無;

返回:int類型,集合的元素個數;

ArrayList<String> list = new ArrayList<String>();
list.add("str1");
list.add("str2");
list.add("str3");
list.add("str4");
int n=list.size();
System.out.println(n);//輸出:4

5.clear()方法

作用:清除集合中的所有元素;

參數:無;

返回:無;

ArrayList<String> list = new ArrayList<String>();
list.add("str1");
list.add("str2");
System.out.println(list);//輸出:[str1, str2]
list.clear();
System.out.println(list);//輸出:[]

6.contains()方法

作用:判斷集合內是否存在指定元素;

參數:指定元素;

返回:boolean(true表示存在,false表示不存在);

ArrayList<String> list = new ArrayList<String>();
list.add("str1");
list.add("str2");
list.add("str3");
list.add("str4");
System.out.println(list.contains("str2"));//輸出:true
System.out.println(list.contains("str5"));//輸出:false

7.indexof()方法

作用:查找集合內的元素;

參數:需要查找的元素;

返回:int類型(找到返回下標,未找到返回-1);

ArrayList<String> list = new ArrayList<String>();
list.add("str1");
list.add("str2");
list.add("str3");
list.add("str4");
System.out.println(list.indexof("str2"));//輸出:1
System.out.println(list.indexof("str5"));//輸出:-1

8.remove()方法

作用:刪除集合內的元素;

參數:①指定下標位置;②指定元素;

返回:①指定下標位置刪除返回刪除的元素值;②指定元素輸出返回ture;

ArrayList<String> list = new ArrayList<String>();
list.add("str1");
list.add("str2");
list.add("str3");
list.add("str4");
System.out.println(list.remove(1));//輸出:str2
System.out.println(list.remove("str4"));//輸出:true

9.set()方法

作用:將指定下標位置改為指定元素;

參數:指定下標,指定元素;

返回:修改前的原值;

ArrayList<String> list = new ArrayList<String>();
list.add("str1");
list.add("str2");
list.add("str3");
list.add("str4");
System.out.println(list);//輸出:[str1, str2, str3, str4]
System.out.println(list.set(1,"str5"));//輸出:str2
System.out.println(list);//輸出:[str1, str5, str3, str4]

10.toArray()方法

作用:將集合轉換為數組;

參數:①無參;②其他類型的數組對象;

返回:①Object[ ];②指定類型的數組;

// 快速創建並初始化一個List集合
// 該集合對象類型為Arrays類的內部類ArrayList
List<String> list1 = Arrays.asList("str1", "str2", "str3", "str4", "str5", "str6");
// 將集合內所有元素添加至heroList02
ArrayList<String> list2 = new ArrayList<String>();
list2.addAll(list1);
Object[] array01 = list2.toArray(); //轉換成Object數組
String[] array02 = list2.toArray(new String[0]); // 轉換成String類型數組

11.subList()方法

作用:在原集合中截取子集合;

參數:開始下標, 結束下標;

返回:子集合;

List<String> list1 = Arrays.asList("str1", "str2", "str3", "str4", "str5", "str6");
ArrayList<String> list2 = new ArrayList<String>();
list2.addAll(list1);
//截取(0,3),即為0,1,2三個元素,區間[0,3)
List<String> result= list2.subList(0, 3);
System.out.println(result);//輸出:[str1, str2, str3]

12.sort()方法

作用:對集合中的元素排序;

參數:Comparator比較器接口實現類對象;

返回:無;

List<String> list1 = Arrays.asList("str8", "str4", "str6", "str3", "str2", "str9");
ArrayList<String> list = new ArrayList<String>();
list.addAll(list1);
//new Comparator<String>()采用瞭匿名類對象,直接實現compare()方法
list.sort(new Comparator<String>() {
	public int compare(String o1, String o2) {
		return o1.compareTo(o2);
	}
});
System.out.println(list);//輸出:[str2, str3, str4, str6, str8, str9]

ArrayList集合的遍歷

List<String> list1 = Arrays.asList("str1", "str2", "str3", "str4", "str5", "str6");
ArrayList<String> list = new ArrayList<String>();
list.addAll(list1);
// 方式1:使用for循環遍歷集合list
for (int i = 0, len = list.size(); i < len; i++) {
	//輸出:str1,str2,str3,str4,str5,str6,
	System.out.print(list.get(i)+",");
}
System.out.println("-----------------------------------");
// 方式2:使用迭代器遍歷集合list
// (1)獲取當前集合對象的迭代器對象
Iterator<String> it = list.iterator();
// (2)使用迭代器遍歷每個元素
while (it.hasNext()) { 	//判斷集合是否有下一個元素 
	//輸出:str1,str2,str3,str4,str5,str6,	
	System.out.print(it.next()+",");//獲取集合的下一個元素
}
System.out.println("-----------------------------------");
// 方式3 : foreach遍歷list
for(String str : list) {
	//輸出:str1,str2,str3,str4,str5,str6,
	System.out.print(str+",");
}

以上是ArrayList的常用方法,僅個人觀點,若有不對的地方,希望各位大佬多多指正。

總結

到此這篇關於Java中ArrayList集合的文章就介紹到這瞭,更多相關Java ArrayList集合常用方法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: