浅析对象数组和集合

        这几天刚接触了集合,对于集合还是有点陌生,希望自己通过这篇文章能加深自己对集合的印象,也希望能对各位Java初学者有所启发。

        首先,什么是对象数组?我们来看这样一段代码:

浅析对象数组和集合_第1张图片

        上述代码分别定义了一个字符串对象数组和一个Student对象数组,很显然,对象数组操作起来非常麻烦。对于Student对象数组,如果你想添加新的数据,那么就需要更改数组大小;如果你想在指定位置插入新的数据,那么该数据位置后面的数据都需要后移。

        为了解决上面这个问题,Java内部给我们提供了集合类(Collection),能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少。

        集合继承体系如下图:

浅析对象数组和集合_第2张图片

        我们看这样一个需求:有5个学生,请把这5个学生的信息存储到数组中,然后遍历数组,获取每一个学生信息。

        5个学生,对象元素确定,那么我们可以用对象数组来做:

浅析对象数组和集合_第3张图片

        输出:

        那如果把要求改成:不确定有几个学生,请把这些学生的信息存储起来,然后遍历数组,获取每一个学生信息。

        不确定有几个学生,那么这里,我们就可以用集合了(以添加5个学生为例):

浅析对象数组和集合_第4张图片

        输出:

        两段代码相比,很明显使用集合的这段代码更简洁,性能方面也更灵活。

        那么问题来了,什么时候用数组好?什么时候用集合好呢?

        答案是:如果元素个数是固定的,那就用对象数组;如果元素个数不是固定的,那就用集合!


        结语:感谢您百忙之中阅读这篇文章,如对上述所提及的内容有所异议,欢迎各位在评论区留言,下篇文章我将对有关set集合的练习题进行分析,敬请关注。

你可能感兴趣的:(浅析对象数组和集合)