美文网首页
数据结构之数组(修改)

数据结构之数组(修改)

作者: Jack_7eb5 | 来源:发表于2018-05-13 19:52 被阅读13次

慢慢聊自己

今天会学习数组修改功能,修改的方法其实只有一个,也是最为简单的一个小节,这是自己理解的简单,要深究起来一点都不简单,很复杂的那种。

修改set

方法虽然简单,但是还是应该讲解一下,彼此加深印象。首先是判断,不可以小于0,不可以大于等于0。 这样判断以后我们的index就合法了,为什么要这么判断,不是显得很麻烦,这么看确实很麻烦的,但又是必须的,因为数组是有边界的,从0开始,结束于data.length,不可以无限大,总有个边界不是。但是对于平时的操作,你不能保证你每次输入都是对的,都在边界之内,做不到每次都正确,那就得固定下来,就像法律法规一样,确定下来,一旦违反就得承担后果。我们这里也是如此,违反了规则,就得抛出异常,就不得修改数据

这里我们补充一个方法,判断数组是不是空数组

空数组1 空数组2

应该是1还是2呢,这两个方法仔细看是不一样的哦,第一个是以数组容量作为判断,第二个是以数组元素个数作为判断。

应该是2,在我们这里数组的边界是[0,size),而不是capacity,我们所有的方法都是这么设计的。比如你在设置某个元素,只能设置索引号在[0,size)范围内的。这和我们第一篇文章提到的一样,size在这里很重要,它其实才是数组真的容量,这里的“真正”是对我们而言的,对计算机而言还是data.length是数组容量。[size,data.length)范围的元素是没有意义的,没有存储任何有效的值,对我们没有用处。

于是这里我们得出一个结论,判断一个数组是否是一个空数组,应该是针对数组中的元素来讲的,而不是数组的容量。就像汽车一样,载客量和核定载客量是不一样的,这也就有了超载情况的出现。

你可以看到,一个简单的问题,仔细讨论下去其实很难的,很难解释清楚。不细细了解,你会学的糊涂,忘得很快,经常不知所措

下期我们将讲解增删改查中的查,最后我们会优化这些部分,建立动态数组,时间复杂度分析,任务艰巨,任重而道远

期待下一期,再会...^_^

相关文章

  • 数据结构之数组(修改)

    慢慢聊自己 今天会学习数组修改功能,修改的方法其实只有一个,也是最为简单的一个小节,这是自己理解的简单,要深究起来...

  • 重温:数据结构与算法 - 03数组

    数据结构与算法之美 - 数组 数据结构与算法之美-学习大纲 什么数组? 数组是一种 线性表 数据结构。它用一组 连...

  • 树状数组图文解析

    树状数组是一个查询和修改复杂度都为log(n)的数据结构。主要用于数组的单点修改、区间求和。 lowbit数组 l...

  • List 之 CopyOnwriteArrayList

    数据结构同ArrayList, 数组array写时加锁复制:ReentrantLock保证线程安全,修改数组之前先...

  • 2、数据结构

    String 一:数据结构 1、数据结构:字符数组,可以修改的动态字符串,bitmap(位图) 2、扩容:最大51...

  • MongoDB 数组修改更新方法

    数组修改器更新数据 这里,我们将了解一下数组修改器。数组,是我们经常看到和使用到的且非常有用的数据结构:它不仅可以...

  • 2020-06-28【List】

    List特有方法 并发修改异常 ListIterator 增强for循环 小练习 数据结构 栈 队列 数组 链表 ...

  • 树状数组

    复习一下树状数组 树状数组 一种用于处理单点修改和区间查询的数据结构。树状数组C的定义: C[x] = Sum ...

  • 数据结构之数组(查询)

    数据结构之数组,我们已经讨论了三个小节了,我们已经完成了新增、删除、修改的方法,最后我们来实现最为重要,也是用到比...

  • java 中的 数据结构

    java中常用的数据结构 1:Array 数组 固定大小,数组的大小是初始化时决定无法修改的数值。 强类型,存储数...

网友评论

      本文标题:数据结构之数组(修改)

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