• 一、对象数组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];
            }
        }
    }
    
    
  • 相关阅读:
    使用PowerShell脚本来轮训Exchange数据库的状态
    使用NUnit在.Net编程中进行单元测试【转载】
    利用NUnit对类、方法进行原子级测试
    单元测试的重要性
    不用临时变量,只用11个字符交换两个变量的值——窥视C#编译原理的冰山一角
    博客园
    c++的float(NaN)
    mysql之innodb的锁分类
    配置alchemc时cygwin下面,特别要注意路径
    关于异步调用Discuz!NT接口
  • 原文地址:https://www.cnblogs.com/saysayzhou/p/14735228.html
Copyright © 2020-2023  润新知