zoukankan      html  css  js  c++  java
  • 1.3封装数组之实现在数组中查询元素和修改元素

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

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

    @Override
        public String toString() {
            StringBuilder res = new StringBuilder();
            res.append(String.format("Array:size=%d, capacity=%d
    ", 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进行操作。

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

  • 相关阅读:
    jsTree获取选中节点和选中指定节点
    jsTree的checkbox默认选中和隐藏
    ElasticSearch 报错 failed to obtain node locks
    jstree单选功能的实现方法
    layui 报错 jQuery is not defined
    ssdb make 失败 autoconf required
    No package gcc48-c++ available
    查看yum已安装的包
    PHP 生成 UUID
    [构造][dfs树][树的重心][LOJ#3176]「IOI2019」景点划分
  • 原文地址:https://www.cnblogs.com/wfaceboss/p/10605891.html
Copyright © 2011-2022 走看看