码迷,mamicode.com
首页 > 编程语言 > 详细

数据结构---Java---数组

时间:2019-03-06 10:40:44      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:inf   左移   throw   删除   行修改   nal   i++   lse   div   

【自定义数组】

 

  删除:指定index位置之后的数据整体左移即可

             技术图片

package com.exiuge.mytest.array;

public class MyArray {

    private long[] arr;
    /**
     * 实际数组元素大小
     */
    private int elementsSize;
    /**
     * 初始容量50
     */
    private static final int initSize=50;

    public MyArray(){
        arr=new long[initSize];
    }

    /**
     * insert
     * @param value
     */
    public void insert(Long value){
        if (elementsSize>=initSize){
            throw new ArrayIndexOutOfBoundsException();
        }
        arr[elementsSize]=value;
        elementsSize++;
    }

    /**
     * 展示全部
     */
    public void display(){
        System.out.println("[");
        for (int i=0;i<elementsSize;i++){
            System.out.print(arr[i]+" ");
        }
        System.out.println("]");
    }

    /**
     * 根据value找下标索引
     * @param value
     * @return
     */
    public int findByValue(Long value){
        int i;
        for (i=0;i<elementsSize;i++){
            if (arr[i]==value){
                break;
            }
        }
        if (i==elementsSize){
            return -1;
        }else {
            return i;
        }
    }

    /**
     * 根据下标索引找value
     * @param index
     * @return
     */
    public long findByIndex(int index){
        if (index>=elementsSize || index<0){
            throw new ArrayIndexOutOfBoundsException();
        }else {
            return arr[index];
        }
    }

    /**
     * 根据下标索引删除value
     * @param index
     */
    public void deleteByIndex(int index){
        if (index>=elementsSize || index<0){
            throw new ArrayIndexOutOfBoundsException();
        }else {
            for (int i=index;i<elementsSize;i++){
                arr[index]=arr[index+1];
            }
            elementsSize--;
        }
    }

    /**
     * 根据下标索引进行修改value
     * @param index
     * @param newValue
     */
    public void updateByIndex(int index,long newValue){
        if (index>=elementsSize || index<0){
            throw new ArrayIndexOutOfBoundsException();
        }else {
            arr[index]=newValue;
        }
    }

}

 

数据结构---Java---数组

标签:inf   左移   throw   删除   行修改   nal   i++   lse   div   

原文地址:https://www.cnblogs.com/anpeiyong/p/10481654.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!