java List和ArrayList的区别

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

java List和ArrayList的区别

ycylikestuty   2022-09-29 我要评论

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方法

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们