美文网首页数据结构
封装数组之实现在数组中查询元素和修改元素

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

作者: wfaceboss | 来源:发表于2019-03-27 11:13 被阅读2次

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

    在数组中,数据是存储在私有变量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进行操作。

    喜欢就赶快上车一起学习吧,一起弄懂数据结构~~~~
    下一节我们将继续学习有关数组中的包含、搜索和删除元素。

    相关文章

      网友评论

        本文标题:封装数组之实现在数组中查询元素和修改元素

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