素材巴巴 > 程序开发 >

向数组中添加元素

程序开发 2023-09-05 17:08:37

向数组中添加元素

1、数组末尾添加元素

(1)向数组末尾添加元素模型图

(2)向数组末尾添加元素代码

public class Array {
    // 定义数组变量,data.length表示数组容量capacity
    private int[] data;
    // 定义数组中存放数据大小
    private int size;

    // 有参构造方法,传入数组的容量capacity构造动态数组
    public Array(int capacity) {
        data = new int[capacity];
        size = 0;
    }

    // 无参构造方法,默认初始容量为capacity=10
    public Array(){
        this(10);
    }

    // 获取数组中元素个数
    public int getSize(){
        return size;
    }

    // 获取数组的容量
    public int getCapacity(){
        return data.length;
    }

    // 判断数组是否为空
    public boolean isEmpty(){
        return size == 0;
    }

    // 在数组末尾添加元素
    public void addLast(int e){
        if(size == data.length)
            throw new IllegalArgumentException("AddLast failed.Array is full.");
        data[size] = e;
        size ++;
    }
}

2、数组指定位置添加元素

(1)向数组指定位置添加元素模型图

(2)向数组指定位置添加元素代码

public class Array {// 定义数组变量,data.length表示数组容量capacityprivate int[] data;// 定义数组中存放数据大小private int size;// 有参构造方法,传入数组的容量capacity构造动态数组public Array(int capacity) {data = new int[capacity];size = 0;}// 无参构造方法,默认初始容量为capacity=10public Array() {this(10);}// 获取数组中元素个数public int getSize() {return size;}// 获取数组的容量public int getCapacity() {return data.length;}// 判断数组是否为空public boolean isEmpty() {return size == 0;}// 在数组末尾添加元素public void addLast(int e) {if (size == data.length)throw new IllegalArgumentException("AddLast failed.Array is full.");data[size] = e;size++;}// 数组指定位置添加元素public void add(int index, int e) {if (size == data.length)throw new IllegalArgumentException("Add failed.Array is full.");if (index < 0 || index > size)throw new IllegalArgumentException("Add failed. Require index >= 0 and index <= size");for (int i = size - 1; i >= index; i--)data[i + 1] = data[i];data[index] = e;size++;}}

(3)向数组末尾指定位置添加元素代码改造

public class Array {// 定义数组变量,data.length表示数组容量capacityprivate int[] data;// 定义数组中存放数据大小private int size;// 有参构造方法,传入数组的容量capacity构造动态数组public Array(int capacity) {data = new int[capacity];size = 0;}// 无参构造方法,默认初始容量为capacity=10public Array() {this(10);}// 获取数组中元素个数public int getSize() {return size;}// 获取数组的容量public int getCapacity() {return data.length;}// 判断数组是否为空public boolean isEmpty() {return size == 0;}/*    // 在数组末尾添加元素public void addLast(int e) {if (size == data.length)throw new IllegalArgumentException("AddLast failed.Array is full.");data[size] = e;size++;}*/// 在数组末尾添加元素(复用add方法)public void addLast(int e) {add(size, e);}// 在数组头部添加元素(复用add方法)public void addFirst(int e) {add(0, e);}// 数组指定位置添加元素public void add(int index, int e) {if (size == data.length)throw new IllegalArgumentException("Add failed.Array is full.");if (index < 0 || index > size)throw new IllegalArgumentException("Add failed. Require index >= 0 and index <= size");for (int i = size - 1; i >= index; i--)data[i + 1] = data[i];data[index] = e;size++;}}

 

如果感兴趣的童鞋,可以观看我下一篇博客:数组中查询元素和修改元素


标签:

素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。