数组

数组是数据结构的一种。用来存储同类型的元素。不过是在创建的时候就已经分配好大小了。我们在操作数据的时候都是有一个地方用来存放的。后面要用到的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     }
View Code

输出:

给这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         }
View Code

输出:

 第二个是:创建了一个大小为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         }
View Code

输出:

-------------------------------------------------------------------------往一个数组中添加值---------------------------------------------

 想什么呢?都说过了。一个数组创建的时候就已经定义了大小。不能进行改变了。怎么可能添加呢。

我们可以用别的方法来进行这项不可能完成的任务:创建一个新的数组。然后把旧的数组的值赋值给新的数组。

 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     }
View Code

测试:

1 int arr[] = {1,3,4};
2         int arr2[] = delete(arr,1);
3         for(int i :arr2){
4             System.out.println("删除后遍历数组:"+i);
5         }
View Code

输出:

 -------------------------------------------------------------------修改和查询-----------------------------------------

修改的话,我们知道下标。然后对其进行赋值就行了。

查询是:要知道下标。然后直接输出就行了。

1  //修改
2         arr[2]=9;
3         //查询
4         System.out.println("查询下标为2的值:"+arr[2]);
View Code

 

posted @ 2018-11-07 09:51  陆伟  阅读(178)  评论(0编辑  收藏  举报