1.数组的长度定义了就不能改变了,不能很好的适应元素数量动态变化。例如你定义一个长度为50的数组,结果要存储的数据发现增加了,你就要重新定义数组;如果数据变小了,则造成空间的浪费。
2.数组采用在内存中分配连续空间的存储方式,根据下标获取对应的元素信息,但是要根据元素信息查找时,需要多次比较。
3.数组在进行频繁插入,删除操作时同样效率低下。
集合的优点:ArrayList和数组采用相同的存储方式,它的优点在于遍历元素和随机访问元素的效率比较高。LinkedList采用链表存储方式,优点在于插入,删除元素时效率比较高。HashMap则在查询指定元素时效率较高。
总结:数组再处理一些问题时存在缺陷,而集合弥补了数组的缺陷,它比数组更灵活实用,提高开发效率,而且不同的集合可适用于不同的数据存储。
只能说个大概,具体情况具体分析! |