Java中集合和数组的区别

淩亂°似流年 2023-09-29 06:17 135阅读 0赞

区别:

1) 数组的长度是固定的,集合的长度可以动态扩展

2) 数组只能存储相同类型的数据,集合可以存储不同的类型的数据

054ac162673b4162a22d8480bf337228.png

public static void main(String[] args) {
int[] arr={1,2,3};
arr[2]=2.0;
}

在编译期会提示类型不匹配的错误

a6502fd102224edea054f29d62f8892b.png

public static void main(String[] args) {
List list=new ArrayList<>();
list.add(new String(“nihao”));
list.add(2);
list.add(8.8);
}

如果集合加上泛型,就会限制集合中只能存储这一种数据类型的数据,下面的<>中定义了泛型的类型为String,再去添加Integer类型的数据时就会报错了

f453bb9482fd4b2483c30f6ac948a27b.png

public static void main(String[] args) {
List list=new ArrayList<>();
list.add(“你好”);
list.add(23);
}

3) 数组可以存储基本数据类型,也可以存储引用数据类型,而集合只能存储引用类型,这里说明一下,如下代码 “你好” 23 存到集合中并没有报错,不是因为集合可以存储基本数据类型的数据,而是该数据经过了自动装箱操作,将基本数据类型转换成对应的包装类数据了

c4546ad159284a9788df21e3860101b8.png

public static void main(String[] args) {
List list=new ArrayList<>();
list.add(“你好”);
list.add(23);
}

应用场景:

1)数组适应于数据长度固定的情况,并且主要进行查询操作

2)集合的应用场景如下:

2-1)无法预测存储数据的数量

2-2)同时存续具有一对一关系的数据,也就是键值对的数据

2-3)需要对进行数据修改,例如增删

2-4)需要解决数据的重复问题,可以直接使用集合Set完成

发表评论

表情:
评论列表 (有 0 条评论,135人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java泛型和数区别理解

    在Java编程中,泛型和数组都是用来处理不同类型数据的机制,但它们之间存在以下几个关键区别: 1. 定义方式: - 数组:通过指定类型声明一个具体的数组,例如 `int

    相关 指针和数区别

    指针和数组的区别: 1.空间分配:数组是静态分配,且分配的空间是连续的;指针是动态分配,分配的空间不一定是连续的。 2.安全性:使用数组可能会造成数组越界;指针使用时可能会

    相关 集合和数相互转换

    集合和数组相互转换 很多时候API的方法只支持集合或数组,比如适配器类中的数据只支持集合,这时候我们就要把数组转换集合。 集合转换成数组 可以把String换成其

    相关 链表和数区别

    链表和数组一样是一种数据结构。 数组是将元素在内存中连续存放,由于每个元素占用内存相同,所以可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要