这几天刚接触了集合,对于集合还是有点陌生,希望自己通过这篇文章能加深自己对集合的印象,也希望能对各位Java初学者有所启发。
首先,什么是对象数组?我们来看这样一段代码:
![](https://img.haomeiwen.com/i6971250/e9957ef9134b4c29.png)
上述代码分别定义了一个字符串对象数组和一个Student对象数组,很显然,对象数组操作起来非常麻烦。对于Student对象数组,如果你想添加新的数据,那么就需要更改数组大小;如果你想在指定位置插入新的数据,那么该数据位置后面的数据都需要后移。
为了解决上面这个问题,Java内部给我们提供了集合类(Collection),能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少。
集合继承体系如下图:
![](https://img.haomeiwen.com/i6971250/fdcc84dbed2c4b66.png)
我们看这样一个需求:有5个学生,请把这5个学生的信息存储到数组中,然后遍历数组,获取每一个学生信息。
5个学生,对象元素确定,那么我们可以用对象数组来做:
![](https://img.haomeiwen.com/i6971250/187b2dfedd378742.png)
输出:
![](https://img.haomeiwen.com/i6971250/6abdc1dd857ddfd2.png)
那如果把要求改成:不确定有几个学生,请把这些学生的信息存储起来,然后遍历数组,获取每一个学生信息。
不确定有几个学生,那么这里,我们就可以用集合了(以添加5个学生为例):
![](https://img.haomeiwen.com/i6971250/9dc0c66402df6e89.png)
输出:
![](https://img.haomeiwen.com/i6971250/c4a5e14c7b260de2.png)
两段代码相比,很明显使用集合的这段代码更简洁,性能方面也更灵活。
那么问题来了,什么时候用数组好?什么时候用集合好呢?
答案是:如果元素个数是固定的,那就用对象数组;如果元素个数不是固定的,那就用集合!
结语:感谢您百忙之中阅读这篇文章,如对上述所提及的内容有所异议,欢迎各位在评论区留言,下篇文章我将对有关set集合的练习题进行分析,敬请关注。
网友评论