一、对象数组java

学习数据结构-数组
我发现在很多 教材上面并没有明确指出数组的使用
但有些机构培训中会有数组的使用
虽然很简单
但是我觉得能认真先学好数组 能更好的理解数据结构
毕竟抽象的知识 最好有实体来解释

package com.zhou.study;

import java.util.Arrays;

/**
 * @author zhou
 * @date 2021-5-6 14:10
 * 对象数组
 */
public class MyArray {
    /**
     * 用于存储数据的数组
     */
    private int[] elements;


    public MyArray() { // 初始化为0
        elements = new int[0];
    }

    public int size() { // 打印数组长度
        return elements.length;
    }

    public void show() { // 打印数组元素
        System.out.println(Arrays.toString(elements));

    }

    public void add(int num) { // 在数组尾部添加数组元素
        int[] newArr = new int[elements.length + 1];
        for (int i = 0; i < elements.length; i++) {
            newArr[i] = elements[i];
        }
        newArr[elements.length] = num;
        elements = newArr;
    }
    public void index(int index, int num) { // 在指定位置插入元素
        if (index > elements.length || index < 0) {
            throw new IndexOutOfBoundsException("数组下标越界了");
        }
        int[] newArr = new int[elements.length + 1];
        for (int i = 0; i < newArr.length; i++) {
            if(i<index){
                newArr[i] = elements[i];
            }else {
                if (i == index) {
                    newArr[i] = num;
                }else {
                    newArr[i] = elements[i - 1];
                }
            }
        }
        elements = newArr;
    }

    public void delete(int index) { // 删除指定下标的元素
        int[] newArr = new int[elements.length - 1];
        if (index > elements.length || index < 0) {
            throw new IndexOutOfBoundsException("数组下标越界了");
        }
        for (int i = 0; i < newArr.length; i++) {
            if (i < index) {
                newArr[i] = elements[i];
            } else {
                newArr[i] = elements[i + 1];
            }
        }
        elements = newArr;
    }

    public void update(int index, int num) { // 修改指定下标的元素
        if (index > 0 && index < elements.length) {
            elements[index] = num;
        }else {
            throw new IndexOutOfBoundsException("数组下标越界了");
        }
    }

    public int get(int index) { //获得指定下标的元素
        if(index < 0 || index >= elements.length){
            return -1;
        }else {
            return elements[index];
        }
    }
}

原文地址:https://www.cnblogs.com/saysayzhou/p/14735228.html