美文网首页技术干货程序员
浅析对象数组和集合

浅析对象数组和集合

作者: _Shun | 来源:发表于2017-07-22 01:06 被阅读0次

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

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

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

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

        集合继承体系如下图:

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

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

        输出:

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

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

        输出:

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

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

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


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

相关文章

  • 浅析对象数组和集合

    这几天刚接触了集合,对于集合还是有点陌生,希望自己通过这篇文章能加深自己对集合的印象,也希望能对各位Jav...

  • iOS数组、字典和集合

    数组、字典和集合的基本用法 数组和集合的区别: NSSet和NSArray都是对象容器,用于存储对象,属于集合; ...

  • 《Objective-C高级编程 iOS与OS X多线程与内存管

    内存管理篇: 6.不要使用静态和动态数组(非OC集合对象) 静态数组(类似于c数组,非OC的集合对象): 使用__...

  • Java进阶---集合

    一、数组和集合的比较 数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺点,比数组更灵活更实用,而且不同的集合...

  • Java集合关系

    数组和集合的比较 数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺点,比数组更灵活更实用,而且不同的集合框架...

  • iOS数组、集合、字典

    数组 可变数组 不可变数组 集合 集合中不能存在重复的对象,利用此特性可以过滤重复对象集合和数组有相似之处,都是存...

  • 面试必备——Java集合框架

    Java集合框架面试题 常见集合 集合可以看作是一种容器,用来存储对象信息。数组和集合的区别:(1)数组长度不可变...

  • OC基础数据类型 - NSSet

    一 . 集合(NSSet) 和数组(NSArray)区别 集合和数组都是存储不同的对象的地址,但数组是有序的集合,...

  • Java对象的容纳

    1.数组和集合类 数组:在确定要容纳的对象的个数时,优先考虑。可容纳基本数据类型和对象。集合类(重点):不确定要容...

  • Json-Lib的使用

    1. 数组/集合/Map/JavaBean对象 ==> Json 字符串 数组: 集合: Map JavaBean...

网友评论

    本文标题:浅析对象数组和集合

    本文链接:https://www.haomeiwen.com/subject/zbeykxtx.html