数组
数组是数据结构的一种。用来存储同类型的元素。不过是在创建的时候就已经分配好大小了。我们在操作数据的时候都是有一个地方用来存放的。后面要用到的list ,set,Map等都是和这的作用是一样的。就好比是一个容器。有的容器只能存放红豆。有的容器只能存放绿豆。红豆,绿豆就是我们的数据类型。
-------------------------------------------------------- 创建数组--------------------------------------------------------
首先我们创建一个数组
int array_int1[] = new int[5]; int array_int2[] = {1,3,4,5};
这两种方法都是正确的。第一个是创建了一个叫 array_int1的数组。给它分配了5个地方。但是这5个地方还没有进行赋值,就是还没有往里面添加东西。数组的默认值都是:0
遍历输出一下array_int1
1 public static void main(String[] args) { 2 //创建数组 3 int array_int1[] = new int[5]; 4 for (int i=0;i<array_int1.length;i++){ 5 System.out.println("数组array_int1的值:"+array_int1[i]); 6 } 7 }
输出:
给这5个进行赋值。数组的下标是从0开始的。
1 array_int1[0]=11; 2 array_int1[1]=12; 3 array_int1[2]=13; 4 array_int1[3]=14; 5 array_int1[4]=15; 6 for (int i=0;i<array_int1.length;i++){ 7 System.out.println("数组array_int1赋值后的值:"+array_int1[i]); 8 }
输出:
第二个是:创建了一个大小为4的数组:array_int2 并在创建的时候就给赋值了。
遍历一下数组array_int2:
1 int array_int2[] = {1,3,4,5}; 2 for (int i=0;i<array_int2.length;i++){ 3 System.out.println("数组array_int2的值:"+array_int2[i]); 4 }
输出:
-------------------------------------------------------------------------往一个数组中添加值---------------------------------------------
想什么呢?都说过了。一个数组创建的时候就已经定义了大小。不能进行改变了。怎么可能添加呢。
我们可以用别的方法来进行这项不可能完成的任务:创建一个新的数组。然后把旧的数组的值赋值给新的数组。
1 public static int[] insert(int[] array,int i,int l){ 2 //创建一个新的数组。 3 int new_array[] =new int[array.length+1]; 4 //把旧的数组赋值给新的数组 5 for(int j=0;j<array.length;j++){ 6 new_array[j]=array[j]; 7 } 8 //i 是要插入的下标位置。把大于i的都给往后移一个位置。 9 for(int j=new_array.length-2;j>=i;j--){ 10 new_array[j+1]=new_array[j]; 11 12 } 13 //l 是要插入的值。插入到i 14 new_array[i]=l; 15 return new_array; 16 } 17 18 public static void main(String[] args) { 19 //测试添加 20 int arr[] = {1,3,4}; 21 int arr1[] = insert(arr,1,6); 22 for(int i:arr1){ 23 System.out.println("添加后的值:"+i); 24 } 25 }
输出:
-----------------------------------------------------------------------删除数组---------------------------------------------------
删除数组中指定的下标。
1 //index是要删除的下标位置 2 public static int[] delete(int[] array,int index){ 3 int new_array[] = new int[array.length - 1]; 4 for (int i = 0; i < array.length - 1; i++) { 5 if (i < index) { 6 new_array[i] = array[i]; 7 } else { 8 new_array[i] = array[i + 1]; 9 } 10 11 } 12 return new_array; 13 }
测试:
1 int arr[] = {1,3,4}; 2 int arr2[] = delete(arr,1); 3 for(int i :arr2){ 4 System.out.println("删除后遍历数组:"+i); 5 }
输出:
-------------------------------------------------------------------修改和查询-----------------------------------------
修改的话,我们知道下标。然后对其进行赋值就行了。
查询是:要知道下标。然后直接输出就行了。
1 //修改 2 arr[2]=9; 3 //查询 4 System.out.println("查询下标为2的值:"+arr[2]);