老生常談Java中List與ArrayList的區(qū)別
1 概念方面
List是接口,ArrayList是List接口的一個實(shí)現(xiàn)類


2 初始化方面
2.1 List
2.1.1 錯誤寫法
List list=new List();//因?yàn)長ist是接口,不能創(chuàng)建實(shí)例對象
2.1.2 正確寫法
2.1.2.1 不指定存取數(shù)據(jù)類型
List list=new ArrayList();
//此時list存取的數(shù)據(jù)類型是不固定的,可以存取String,Integer甚至Object類型
list.add(1);
list.add("dda");
for(Object x:list){
System.out.println(x);
}
2.1.2.2 指定存取數(shù)據(jù)類型
List<Integer> list=new ArrayList<>();
//或者寫成List<Integer> list=new ArrayList<Integer>();
//不過一般采用第一種寫法
list.add(2);
list.add(12);
for(Integer x:list){
System.out.println(x);
}
2.2 ArrayList
初始化和List差不多,只是把List改為了ArrayList
2.2.1 不指定存取數(shù)據(jù)類型
ArrayList arrayList=new ArrayList();
arrayList.add(1);
arrayList.add("dda");
for(Object x:arrayList){
System.out.println(x);
}
2.2.2 指定存取數(shù)據(jù)類型
ArrayList<String> arrayList=new ArrayList<>();
arrayList.add("dd");
arrayList.add("yyds");
for(String x:arrayList){
System.out.println(x);
}
2.3 區(qū)別
- List list=new ArrayList()創(chuàng)建了一個ArrayList實(shí)現(xiàn)類的對象后把它上溯到了List接口。此時它就是一個List對象,所以不能調(diào)用ArrayList類有的,但是List接口沒有的屬性和方法,只能調(diào)用兩者共有的屬性和方法
- 而ArrayList list=newArrayList()創(chuàng)建了一個ArrayList實(shí)現(xiàn)類的對象,所以保留了ArrayList的所有屬性和方法
ArrayList<Integer> arrayList=new ArrayList<>(); List<Integer> list=new ArrayList<>(); arrayList.trimToSize(); //list.trimToSize();寫法錯誤 //因?yàn)長ist沒有trimToSize方法
到此這篇關(guān)于Java中List與ArrayList的區(qū)別的文章就介紹到這了,更多相關(guān)java List和ArrayList的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用MultipartFile實(shí)現(xiàn)文件上傳功能
這篇文章主要為大家詳細(xì)介紹了利用MultipartFile實(shí)現(xiàn)文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
IDEA提示:Boolean method ‘xxx‘ is always&nb
這篇文章主要介紹了IDEA提示:Boolean method ‘xxx‘ is always inverted問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
SpringBoot使用Thymeleaf模板引擎訪問靜態(tài)html的過程
這篇文章主要介紹了SpringBoot使用Thymeleaf模板引擎訪問靜態(tài)html的過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
一文講解如何解決Java中的IllegalArgumentException異常
這篇文章主要給大家介紹了關(guān)于如何解決Java中IllegalArgumentException異常的相關(guān)資料,IllegalArgumentException是Java中的一個標(biāo)準(zhǔn)異常類,通常在方法接收到一個不合法的參數(shù)時拋出,需要的朋友可以參考下2024-03-03

