Java编程设计---数组Arrays

数组的的定义

 数组是存放在连续存储空间的元素集合

数组定义的格式:

 int[] arr=new int[5];

int:数组元素的数据类型,可以是基本数据类型,也可以是引用

arr:数组名称

5:数组中元素个数

第一步:定义数组类型和数组名称   int [ ]  arr; 

第二步:在堆中产生数组,并定义数据大小   arr=new int [10 ]

第三步:使用数组并赋予元素值    arr [0] =33;  

或者直接列举法给数组赋值:int arr={12,5, 3, 56, 78}

注意:列举法的数组数据产生在方法区中

数组的特点:

1、元素的数据类型是固定的

2、数组一旦定义完成,内存中存放元素的空间也就确定下来了

3、在定义的时候就需要确定数组大小,而且一旦确定,将无法再次修改

数组的扩容

1   给数组添加元素

  public static void add(int element){    //创建add类并传入参数element
    size ++;  //size是元素个数
    if(size > length) {
    int[] news = new int[size];
  System.arraycopy(arrs, 0, news, 0, length);
  arrs = news;
  }
    arrs[size -1] = element;  //在数组最后加入元素element
    length = arrs.length;
  }

2    根据下标修改元素

array[ i ]=element;  //修改元素直接赋值

3  根据下标获得元素

    public static int get(int index) {

      if(index >= 0 && index <= (length -1)) {
      return arrs[index]; // 返回数组值  为了保证数据精度,返回类型必须和数组数据类型一致
      }else {
    //超过0--(length-1)的范围都属于数组越界
    throw new ArrayIndexOutOfBoundsException(index);
    }
    }

4   根据下标清空元素

    public static void remove(int index) {

      if(index >= 0 && index <= (length -1)) {
      size --;  //size为数组元素个数
      int[] news = new int[length -1];
    System.arraycopy(arrs, 0, news, 0, index);
      if(index != (length -1)) {
    System.arraycopy(arrs, (index + 1), news, index, (length - 1 -index));
    }

      arrs = news;
      length = arrs.length;
    }else {
      //超过0--(length-1)的范围都属于数组越界
    throw new ArrayIndexOutOfBoundsException(index);
    }
    }

 

猜你喜欢

转载自www.cnblogs.com/lloney0/p/10992461.html
今日推荐