這篇文章將為大家詳細(xì)講解有關(guān)ArrayList集合如何在Java中使用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識(shí)有一定的了解。

非泛型
創(chuàng)建ArrayList集合對象,可以添加任意Object子類元素至集合
//非泛型創(chuàng)建的ArrayList集合對象可以保存任何類型的值
ArrayList list = new ArrayList();
list.add("str");//存入String類型數(shù)據(jù)
list.add(23);//存入int類型數(shù)據(jù)
list.add(2.5);//存入double類型數(shù)據(jù)
list.add('c');//存入char類型數(shù)據(jù)泛型
采用泛型創(chuàng)建ArrayList集合對象,只能添加泛型數(shù)據(jù)至集合
//泛型創(chuàng)建的ArrayList集合對象,只能保存泛型數(shù)據(jù)
ArrayList<String> list1 = new ArrayList<String>();
//后面的泛型類型可以省略
ArrayList<String> list2 = new ArrayList<>();
list1.add("str1");
list1.add("str2");
//list1.add(23); 出現(xiàn)編譯錯(cuò)誤,list1只能存放String類型數(shù)據(jù)無參構(gòu)造
使用無參構(gòu)造方法,按照空數(shù)組的方式初始化內(nèi)部數(shù)組elementData
//內(nèi)部數(shù)組為空
ArrayList<String> list = new ArrayList<String>();
//調(diào)用add()方法,空數(shù)組的長度變?yōu)?0
list.add("str");有參構(gòu)造
使用有參構(gòu)造方法,按照指定的容量,初始化內(nèi)部數(shù)組elementData
//內(nèi)部數(shù)組長度為38 ArrayList<String> list02 = new ArrayList<String>(38);
1.add()方法
作用:給集合添加元素;
參數(shù):①需要添加的元素②下標(biāo)位置,需要添加的元素;
返回:boolean類型值;
ArrayList<String> list = new ArrayList<String>();
// 添加元素(默認(rèn)添加至集合的末尾)
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()方法
作用:給集合添加集合;
參數(shù):①需要添加的集合;②下標(biāo)位置,需要添加的集合;
返回: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");
// 添加集合(默認(rèn)添加至集合的末尾)
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()方法
作用:根據(jù)下標(biāo)獲取集合中的元素;
參數(shù):下標(biāo)位置(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);//輸出:str34.size()方法
作用:獲取集合中的元素個(gè)數(shù);
參數(shù):無;
返回:int類型,集合的元素個(gè)數(shù);
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);//輸出:45.clear()方法
作用:清除集合中的所有元素;
參數(shù):無;
返回:無;
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()方法
作用:判斷集合內(nèi)是否存在指定元素;
參數(shù):指定元素;
返回: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"));//輸出:false7.indexof()方法
作用:查找集合內(nèi)的元素;
參數(shù):需要查找的元素;
返回:int類型(找到返回下標(biāo),未找到返回-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"));//輸出:-18.remove()方法
作用:刪除集合內(nèi)的元素;
參數(shù):①指定下標(biāo)位置;②指定元素;
返回:①指定下標(biāo)位置刪除返回刪除的元素值;②指定元素輸出返回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"));//輸出:true9.set()方法
作用:將指定下標(biāo)位置改為指定元素;
參數(shù):指定下標(biāo),指定元素;
返回:修改前的原值;
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()方法
作用:將集合轉(zhuǎn)換為數(shù)組;
參數(shù):①無參;②其他類型的數(shù)組對象;
返回:①Object[ ];②指定類型的數(shù)組;
// 快速創(chuàng)建并初始化一個(gè)List集合
// 該集合對象類型為Arrays類的內(nèi)部類ArrayList
List<String> list1 = Arrays.asList("str1", "str2", "str3", "str4", "str5", "str6");
// 將集合內(nèi)所有元素添加至heroList02
ArrayList<String> list2 = new ArrayList<String>();
list2.addAll(list1);
Object[] array01 = list2.toArray(); //轉(zhuǎn)換成Object數(shù)組
String[] array02 = list2.toArray(new String[0]); // 轉(zhuǎn)換成String類型數(shù)組11.subList()方法
作用:在原集合中截取子集合;
參數(shù):開始下標(biāo), 結(jié)束下標(biāo);
返回:子集合;
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三個(gè)元素,區(qū)間[0,3)
List<String> result= list2.subList(0, 3);
System.out.println(result);//輸出:[str1, str2, str3]12.sort()方法
作用:對集合中的元素排序;
參數(shù):Comparator比較器接口實(shí)現(xiàn)類對象;
返回:無;
List<String> list1 = Arrays.asList("str8", "str4", "str6", "str3", "str2", "str9");
ArrayList<String> list = new ArrayList<String>();
list.addAll(list1);
//new Comparator<String>()采用了匿名類對象,直接實(shí)現(xiàn)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循環(huán)遍歷集合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)獲取當(dāng)前集合對象的迭代器對象
Iterator<String> it = list.iterator();
// (2)使用迭代器遍歷每個(gè)元素
while (it.hasNext()) { //判斷集合是否有下一個(gè)元素
//輸出:str1,str2,str3,str4,str5,str6,
System.out.print(it.next()+",");//獲取集合的下一個(gè)元素
}
System.out.println("-----------------------------------");
// 方式3 : foreach遍歷list
for(String str : list) {
//輸出:str1,str2,str3,str4,str5,str6,
System.out.print(str+",");
}關(guān)于ArrayList集合如何在Java中使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
新聞名稱:ArrayList集合如何在Java中使用-創(chuàng)新互聯(lián)
文章起源:http://chinadenli.net/article14/gdode.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、微信公眾號(hào)、關(guān)鍵詞優(yōu)化、做網(wǎng)站、企業(yè)建站、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容