• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

数据结构笔记总结(1.4)数组中查询元素和修改元素

极客笔记 Geekerstar 12个月前 (05-06) 293次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

准备工作

在编写查询和修改元素之前,首先覆盖父类toString方法,定义打印输出的格式,方便我们进行后续测试。

@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();
}

然后我们用自己编写的Array来测试一下这个toString方法

public class Main {

    public static void main(String[] args) {

        Array arr = new Array(20);
        for(int i = 0 ; i < 10 ; i ++)
            arr.addLast(i);
        System.out.println(arr);
    }
}

运行程序,输出结果

可以看出,我们数组容量是20,有十个元素,分别是0~9。

测试之前编写的其他方法

测试一下上一节编写的add方法和addFirst方法

public class Main {

    public static void main(String[] args) {

        Array arr = new Array(20);
        for(int i = 0 ; i < 10 ; i ++)
            arr.addLast(i);
        System.out.println(arr);

        arr.add(1, 100);
        System.out.println(arr);

        arr.addFirst(-1);
        System.out.println(arr);
    }
}

运行程序,请自行观察并分析结果:

获取index索引位置的元素

编写get方法,用于取出相应索引位置的元素。

// 获取index索引位置的元素
public int get(int index){
    if(index < 0 || index >= size)
        throw new IllegalArgumentException("Get failed. Index is illegal.");
    return data[index];
}

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

编写set方法,用于修改相应索引位置的元素。

// 修改index索引位置的元素为e
public void set(int index, int e){
    if(index < 0 || index >= size)
        throw new IllegalArgumentException("Set failed. Index is illegal.");
    data[index] = e;
}

下一节,我们继续为这个array类添加更多的方法。

源码下载

下载地址

导航目录

查看导航
丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:数据结构笔记总结(1.4)数组中查询元素和修改元素
喜欢 (1)
[247507792@qq.com]
分享 (0)
Geekerstar
关于作者:
本站技术支持

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00