数组和集合的区别

数组和集合的区别

集合的由来

数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义, 这样太麻烦了! 所以, Java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少.

区别1:

数组既可以存储基本数据类型,又可以存储引用数据类型, 基本数据类型存储的是值, 引用数据类型存储的是地址值;

集合只能存储引用数据类型(对象), 集合中也可以存储基本数据类型,但是在存储的时候会自动装箱(JDK1.5新特性)变成对象.

区别2:

数组长度是固定的,不能自动增长;

集合的长度的是可变的, 可以根据元素的增加而增长.

使用情况:

  1. 如果元素个数是固定的, 推荐用数组

  2. 如果元素个数不是固定的, 推荐用集合

相关结构层次图数组和集合的区别