• 1.2封装数组之添加元素


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

    1.向所有元素后添加一个元素

    思路:

    (1)先判断当前数组容量是否已满,未满则转入(2),否则抛出异常

    (2)在元素下标为size的位置插入新元素

    (3)维护我们的size值

      //向所有元素后添加元素
        public void addLast(int e) {
            if (size == data.length)
                throw new IllegalArgumentException("数组已满");
    data[size]
    = e;
    size
    ++; }

    2.在指定index位置插入一个新元素

    思路:

    (1)先判断当前数组容量是否已满,未满则转入(2),否则抛出异常

    (2)判断当前需要插入值的位置是否合理,合理则转入(3),否则抛出位置不合法异常

    (3)将index之后的元素依次往后移动一位,然后将新元素插入到index位置

    (4)维护我们的size值

      //在第index个位置插入一个新元素
        public void add(int index, int e) {
            //(1)先判断当前数组容量是否已满,未满则转入(2),否则抛出异常
            if (size == data.length)
                throw new IllegalArgumentException("数组已满");
    
            //(2)判断当前需要插入值的位置是否合理,合理则转入(3),否则抛出位置不合法异常
            if (index < 0 || index > size)
                throw new IllegalArgumentException("您选择的位置不合法");
    
    
            //将index位置之后的元素往后依次移动一位
            for (int i = size - 1; i >= index; i--) {
                //(3)将index之后的元素依次往后移动一位,然后将新元素插入到index位置
                data[i + 1] = data[i];
    } data[index]
    = e; //(4)维护size值 size++; }

    通过对在指定index位置插入一个新元素方法的编写,此时我们可以很轻松的编写出在所有元素之前添加一个新元素,

    3.在所有元素之前添加一个新元素

     //在所有元素之前添加一个新元素
        public void addFirst(int e) {
            add(0, e);//0表示第一个位置
        }

    我们还可以对在本节刚开始编写的第一个方法进行改写,改写如下:

     //向所有元素后添加元素
        public void addLast(int e) {
            add(size, e);//size表示此时的最后一个元素
        }

    到此我们对如何在数组中添加一个元素有了基本的认识,在下一节中我们就如何在数组中查询元素和修改元素进行学习。

    若你感兴趣,关注我,我们一起学习~~~~

  • 相关阅读:
    用Ext.override重写控件属性
    如何设置DateField的默认值
    ExtJs中获得当前选中行号(Grid中多选或者是单选)及Grid的反选(取消选中行)
    Ext.form各类控件的配置及方法
    犀利的系统验收工作
    UML系列 (五) 为什么要用UML建模之建模的重要性
    牛腩新闻发布系统(2)使用存储过程查询表
    如何编写优质的需求文档
    SCM软件配置管理 (一)SVN 与 CVS
    牛腩新闻发布系统 (3) 存过过程或函数""需要""参数,但未提供该参数
  • 原文地址:https://www.cnblogs.com/wfaceboss/p/10605604.html
Copyright © 2020-2023  润新知