Java集合和数组的区别、选用及其原因

mac2026-04-09  6

集合(Collection)和数组(Array)

一、集合和数组的区别

区别1:

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

集合在存储基本数据类型的时会自动装箱变成对象,故集合只能存储引用数据类型。

区别2:

数组长度固定,没有扩容操作。

集合的长度是不固定的,可以进行扩容。

二、数组和集合的选择

元素数量固定,用数组。(eg:选用容器保存10支溶液)

元素数量不固定,用集合。(eg:统计班级学生人员数据(可能存在退学或者转学生))

三、集合选择

存储元素有顺序,用List。(eg:按照学号统计全校学生数据)

存储元素希望自动去重,用Set。(eg:抢答答题,五个队伍先后都选择了一道题目,最先选择的队伍抢答成功)

存储元素适合key-value存放,用Map。(eg:查询数据库数据,返回ID+字段值)

四、List集合选择

ArrayList(Vector):更适合遍历查询。

LinkedList:更适合插入和删除。

Stack:数据满足"先进后出"规则。

五、Set集合选择

HashSet:自动去重且性能更高。

TreeSet: 自动去重,自动排序。

六、Map集合选择

HashMap:性能更高。

TreeMap: 自动排序。

 

 

最新回复(0)