美文网首页
二次封装数组—为什么1

二次封装数组—为什么1

作者: 尤奇勤_三月 | 来源:发表于2019-07-15 19:50 被阅读0次

    冰冻非一日之寒

    为什么二次封装数组

    对于数组来说,索引是最重要,索引分为“有语意”和“无语意”两类。

    索引“有语意”的数组:比如scores[2]表示学号为2的学生的成绩,即其中的2代表学号为2。

    索引无语意的数组:比如scores[2]表示数组中位置为2的数据元素,即这个成绩只是放在了数组scores中的2位置上了(它是可以放在其他位置上的)。

    数组适合存放索引有语意的数据,这样可以快速查询数据。假如索引没有语意,用其他的数据结构存放数据或者是更好的选择。

    但是,也并不是所有有语意的索引都适用于数组。eg,身份证号 411627198607716524,显然,开辟一个如此大的数组是不合理的。再或者,当我们调查一个有10个人的工作小组的工资状况时,开辟这么大的空间,只存放10组数据,造成了严重的浪费

    当然,数组也可以处理“索引没有语意”的情况,二次封装数组也是为了处理“索引没有语意”的情况数组的使用。

    对于“索引没有语意”的数组score[7],我们存放3个元素,数组有4个位置是空的

    二次封装数组—为什么1

    从用户的角度来看,后4个位置是没有元素的,访问是非法的。

    那么,该如何表示没有元素?如何添加元素?删除元素?如何添加超过7个的元素……

    对于java自带的数组,是解决不了以上问题的。所以,我们需要二次封装数组,可以实现对数组进行 增、删、改、查。就像开发时,对数据库里面存储的数据进行高效的操作(增删改查)

    数组本身是静态的,因为创建时就要确定其容量(数组的length)。而我们二次封装后,我们称数组为“动态数组”,即数组的容量根据需求是可变的。

    下面,先为数组(Arrar 类)定义一些成员变量

    二次封装数组—为什么1

    一些简单的方法

    二次封装数组—为什么1

    下一节,让我们的数组使用泛型

    相关文章

      网友评论

          本文标题:二次封装数组—为什么1

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