相信大家一看到数组、动态数组和集合放在一起讨论的时候最深刻的印象就是他们非常的相似而且都是用来存储数据的。说是非常的相似但还是有一些差别的,就是这些差别让它们各显神通。在不同的情况下选择其中的一个进行使用。接下来就让我们聊一聊它们之间的细微差别。
所谓的数组,是有序的元素序列。而数组在程序设计中,为了处理方便,把具有相同类型的有限个元素按无序的形式组织起来,这些无序排列的同类数组元素称之为数组,数组需要设定一个长度来使用。而动态数组和集合不需要设定长度就可以使用。动态数组是在任何时候都可以改变大小,需要添加什么元素,直接通过方法添加就Ok了。但是添加的元素要和声明数组的元素是一致的,不能声明的是int类型添加的确是char类型,这样会报异常的。而集合就不一样了。集合不仅不需要设定一个长度,而且还不需要声明一种类型。想向集合中添加什么类型就添加什么类型的,没有任何的限制。在存储方面,数组存数据是存在栈上面的,而集合存数据是存在堆上面的。数组的运行速度比较快,当你所要添加的元素是有限个而且是用一种类型的时候,这样情况下选择数组就比较合适,如果不明确数组应该多大才合适的话,这种情况下选择动态数组就比较合适。如果你即不知道数组应该多大才合适,添加的元素还不是同一个类型的,这种情况下选择集合就比较合适。每一个都有自己的闪光点,根据不同的情况进行选择并去使用。