大家都知道List是接口,ArrayList是List接口的一个实现类,接下来通过本文给大家介绍Java中List与ArrayList的区别,需要的朋友可以参考下
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方法
到此这篇关于Java中List与ArrayList的区别的文章就介绍到这了,更多相关java List和ArrayList的区别内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
织梦狗教程
本文标题为:老生常谈Java中List与ArrayList的区别


基础教程推荐
猜你喜欢
- 工厂方法在Spring框架中的运用 2023-06-23
- Java去掉小数点后面无效0的方案与建议 2023-02-18
- JVM分析之类加载机制详解 2023-04-06
- Java File类的概述及常用方法使用详解 2023-05-18
- SpringBoot配置文件中密码属性加密的实现 2023-03-11
- Project Reactor源码解析publishOn使用示例 2023-04-12
- 一文了解Java 线程池的正确使用姿势 2023-06-17
- Java使用EasyExcel进行单元格合并的问题详解 2023-01-18
- 用java实现扫雷游戏 2022-12-06
- 全局记录Feign的请求和响应日志方式 2023-01-09