专栏首页wfaceboss封装数组之实现在数组中查询元素和修改元素

封装数组之实现在数组中查询元素和修改元素

前言:在上一小节中,我们已经对如何往数组中添加一个元素的方法进行了编写,此节中我们就如何查询出数组中元素与修改元素的方法进行编写。

 在数组中,数据是存储在私有变量data中的,若我们想知道打印输出一些关于data中数据相关信息,我们可以使用toString()方法,在java中,该方法需要每个类自定义重写实现,针对该类,自定义如下:

@Override
    public String toString() {
        StringBuilder res = new StringBuilder();
        res.append(String.format("Array:size=%d, capacity=%d\n", size, data.length));
        res.append('[');
        for (int i = 0; i < size; i++) {
            res.append(data[i]);
            if (i != size - 1) {
                res.append(",");
            }
        }
        res.append(']');
        return res.toString();
    }
@Override好处:
(1)帮助自己检查是否正确的复写了父类中已有的方法
(2)诉读代码的人,这是一个复写的方法

 1.获取index索引位置的元素

  //获取index索引位置的元素
    int get(int index) {
        //(1)判断当前需要插入值的位置是否合理,合理则转入(2),否则抛出位置不合法异常
        if (index < 0 || index > size)
            throw new IllegalArgumentException("您选择的位置不合法");
        
        //(2)返回索引index对应的值
        return data[index];
    }

2.获取最后一个元素

//获取最后一个元素
    int getLast() {
        return get(size - 1);
    }

3.获取第一个元素

//获取第一个元素
    int getFirst() {
        return get(0);
    }

4.修改index索引位置的元素为e

   //修改index索引位置的元素为e
    void set(int index, int e) {
        //(1)判断当前需要插入值的位置是否合理,合理则转入(2),否则抛出位置不合法异常
        if (index < 0 || index > size)
            throw new IllegalArgumentException("您选择的位置不合法");

        //(2)修改索引index对应的值
        data[index] = e;
    }

此小节比较简单,其核心还是针对我们封装的私用变量data进行操作。

喜欢就赶快上车一起学习吧,一起弄懂数据结构~~~~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 封装数组之改进为泛型数组

    前言:通过上一节我们对我们需要封装的数组,进行了基本的增删改查的封装,但只局限于int类型的操作,为了能提供多种类型数组的操作,我们可以将其进一步封装为泛型数组...

    wfaceboss
  • 均摊复杂度和防止复杂度的震荡

    关于上一节中我们对添加操作的时间复杂度归结为O(n)是考虑了扩容操作(resize)在内的。就addLast(e)操作而言,时间复杂度为O(1),在考虑最坏情况...

    wfaceboss
  • 封装数组之添加元素

    在上一小节中,我们对数组进行了一个基本的封装,该小节中,我们在上一次基础上,新增往数组添加元素的方法:

    wfaceboss
  • 工作记录 | 基于DocSearch黑一套搜索引擎

    记录一下最近工作中利用DocSearch,基于ServiceWorker和CacheAPI“恶搞”的一套Wiki搜索引擎,挺有意思的。

    Jean
  • Array数组

    数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 查找元素快:通过索引,可以快速访问指定位置的元素

    羊羽shine
  • 蓝桥杯之趣味算式

    匪警请拨110,即使手机欠费也可拨通! 为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训...

    用户4492257
  • 看得见的数据结构Android版之表的数组实现(数据结构篇)

    张风捷特烈
  • Apache2为什么会自动加载index.php

    我直接输入域名后,Apache2自动加载了对应目录下的index.php, 这是怎么做到的?

    Jerry Wang
  • [算法题] 使用数组实现栈和队列

    CoderJed
  • ArrayList与LinkedList 源码分析(基于JDK1.7)

    List接口中的方法有很多,但最重要的无非是增删查改,我们从ArrayList与LinkedList的实现上来讨论他们的增删查改性能问题。先列出这几个重要的方法...

    日薪月亿

扫码关注云+社区

领取腾讯云代金券