Java 插入到简单数组中并删除

Java 插入到简单数组中并删除,java,arrays,eclipse,stack,queue,Java,Arrays,Eclipse,Stack,Queue,int-arraySize=50 创建一个大小为50的数组。数组的大小是固定的,因此无法获得大小为51的数组。在代码中,从数组中添加/删除元素时,不会更改数组的大小。您只是移动索引以获得所需的输出。如果需要更大的阵列,可以: 创建所需大小的新数组,并将所有元素从旧复制到新 使用ArrayList而不是数组 数组是固定大小的数据结构。你不能在飞行中改变它的大小。在您的例子中,arraysize不是实际的arraysize,您维护它是为了计算。通过调用array.length可以获得实际的array

int-arraySize=50

创建一个大小为50的数组。数组的大小是固定的,因此无法获得大小为51的数组。在代码中,从数组中添加/删除元素时,不会更改数组的大小。您只是移动索引以获得所需的输出。如果需要更大的阵列,可以:

  • 创建所需大小的新数组,并将所有元素从旧复制到新
  • 使用ArrayList而不是数组

  • 数组是固定大小的数据结构。你不能在飞行中改变它的大小。在您的例子中,arraysize不是实际的arraysize,您维护它是为了计算。通过调用array.length可以获得实际的arraysize。它将在该阵列的整个生命周期内保持不变。如果您想更改大小,请使用ArrayList。但是,如果我先调用deleteIndex方法,然后调用insert方法,这是怎么回事呢。如果它是固定的,那么我首先调用哪个方法不重要吗?它不应该每次都给我一个越界的例外吗?只要你的大小不超过实际的数组大小,它就会工作。因此,只要您的大小小于50,任何数量的添加和删除都可以工作。一旦达到50,它将开始失败。您将自己的变量与java的数组大小混合在一起;然后让我的数组大小=50;我可以插入和删除,因为我不会正确处理实际数组大小?如果创建一个大小为10的数组,并且要插入50个元素,则必须创建大小为50的新数组,从大小为10的数组复制元素,然后添加其余元素。无法将旧数组修改为新大小。如果创建大小为10的数组,并且要插入50个元素,则必须创建大小为50的新数组,从大小为10的数组复制元素,然后添加其余元素。不能将旧数组修改为新大小。
    public class DataOperations {
    int arraySize=50;
    int[]array=new int[arraySize];
    public void generateRandomArray(){
    for(int i=0;i<arraySize;i++){
        array[i]=i;
    
    
    }
    }
    public int getValueAtIndex(int index){
    if(index<arraySize){
        System.out.println("Your value At index "+index+" is "+array[index]);
        return array[index];
    }else{
        System.out.println("Please Return an Index that is inbounds");
        return 0;
    }
    }
    public boolean doesArrayContainValue(int searchValue){
    boolean valueInArray=false;
    for(int i=0;i<arraySize;i++){
        if(array[i]==searchValue){
             valueInArray=true;
        }
    }
    return valueInArray;
    
    }
     public void deleteIndex(int index){
    if(index<arraySize){
        for(int i=index;i<(arraySize-1);i++){
            array[i]=array[i+1];
    
        }       
    }
    System.out.println(arraySize);
    arraySize--;
    System.out.println(arraySize);
    
    
    }
    public void printArray(){
    for(int i=0;i<arraySize;i++){
        System.out.print(i+"-");
        System.out.println(array[i]);
    }
    }
    public void insertValue(int index){
    if(index<arraySize){
    array[arraySize]=index;
    System.out.println(arraySize);
    arraySize++;
    System.out.println(arraySize);
    }
    
    }
     public void linearSearchForValue(int value){
    boolean valueInArray=false;
    System.out.println("The was Found and is at Index:");
    for(int i=0;i<arraySize;i++){
        if(array[i]==value){
            System.out.println(i);
        }
    }
    }
    }
    
    public class Driver {
    public static void main(String[] args) {
        DataOperations array=new DataOperations();
        array.generateRandomArray();
        array.insertValue(20);
        array.printArray();
    
    }
    }