老生常谈Java中List与ArrayList的区别
作者:ycylikestuty 时间:2023-03-26 19:52:33
1 概念方面
List是接口,ArrayList是List接口的一个实现类
2 初始化方面
2.1 List
2.1.1 错误写法
List list=new List();//因为List是接口,不能创建实例对象
2.1.2 正确写法
2.1.2.1 不指定存取数据类型
List list=new ArrayList();
//此时list存取的数据类型是不固定的,可以存取String,Integer甚至Object类型
list.add(1);
list.add("dda");
for(Object x:list){
System.out.println(x);
}
2.1.2.2 指定存取数据类型
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 不指定存取数据类型
ArrayList arrayList=new ArrayList();
arrayList.add(1);
arrayList.add("dda");
for(Object x:arrayList){
System.out.println(x);
}
2.2.2 指定存取数据类型
ArrayList<String> arrayList=new ArrayList<>();
arrayList.add("dd");
arrayList.add("yyds");
for(String x:arrayList){
System.out.println(x);
}
2.3 区别
List list=new ArrayList()创建了一个ArrayList实现类的对象后把它上溯到了List接口。此时它就是一个List对象,所以不能调用ArrayList类有的,但是List接口没有的属性和方法,只能调用两者共有的属性和方法
而ArrayList list=newArrayList()创建了一个ArrayList实现类的对象,所以保留了ArrayList的所有属性和方法
ArrayList<Integer> arrayList=new ArrayList<>();
List<Integer> list=new ArrayList<>();
arrayList.trimToSize();
//list.trimToSize();写法错误
//因为List没有trimToSize方法
来源:https://www.cnblogs.com/ycylikestudy/p/16643017.html
标签:java,List,ArrayList,区别
0
投稿
猜你喜欢
实例分析java开启线程的方法
2022-06-24 19:54:00
sms4j 2.0 全新来袭功能的调整及maven变化详解
2023-11-05 00:31:51
Spring集成Redis详解代码示例
2023-05-04 00:58:25
java 单例模式的实例详解
2023-10-08 05:14:08
.Net WInform开发笔记(三)谈谈自制控件(自定义控件)
2021-06-11 10:25:11
C#数据类型实现背包、队列和栈
2022-10-07 06:42:09
云计算实验:Java MapReduce编程
2021-10-08 14:25:52
Android Studio 超级简单的打包生成apk的方法
2023-08-07 18:57:28
Java实现抢红包功能
2021-08-05 07:47:58
详解kafka中的消息分区分配算法
2021-06-02 08:16:15
JAVA SFTP文件上传、下载及批量下载实例
2023-02-11 14:31:46
Android实现房贷计算器
2022-11-23 17:58:56
C#反射(Reflection)详解
2022-09-16 22:58:11
C#实现Datatable排序的方法
2022-12-30 11:31:52
在Java中int和byte[]的相互转换
2023-09-23 15:35:45
springboot嵌套子类使用方式—前端与后台开发的注意事项
2023-09-16 12:37:22
C#用timer实现背单词小程序
2022-05-15 09:29:50
c#在WebAPI使用Session的方法
2023-07-07 23:20:10
打印Java程序的线程栈信息方式
2021-11-02 19:00:28
C#接口归纳总结实例详解
2021-08-18 16:55:54