Java数组

一维数组

数组是一种数据结构,用来存储同一类型值的集合。通过一个整型下标可以访问数组中的每一个值。

1.一维数组的定义

一维数组的定义有以下三种定义方法:

  1. int []arr={1,2,3,4,5};
  2. int []arr=new int[]{1,2,3,4,5};
  3. int []arr=new int[5];3.int []arr=new int[5];

注:一维数组通用的声明方式:类型名[] 数组名;

一维数组的内存分布:
在这里插入图片描述

2.一维数组的遍历

一维数组的遍历方式有三种:

  1. for循环遍历:
int []arr = new int[5];
for(int i=0;i<arr.length;i++){
    arr[i]=i;
    System,out,println(arr[i]);
}     
  1. foreach循环遍历:
int []arr = new int[5];
for(int a : arr)
    System,out,println(a);
  1. Arrays 类中的方法:toString()
int []arr = new int[5];
System,out,println(Arrays.toString(arr));
3.一维数组的拷贝

一维数组的拷贝方式有四种:

  1. for 循环进行拷贝
  2. Arrays.copyof(原数组,拷贝数组长度);方法 —— 可用于数组扩容
    static type copyOf(type []a,int length)
    static type copyOf(type []a,int start,int end)
    返回与a类型相同的一个数组,其长度为length或者end-start,数组元素为a的值。
    参数:
    a 类型为int,short,char,byte,boolean,float或double的数值。
    start 起始下标(包含这个值)。
    end 终止下标(不包含这个值)。这个值可能大于a.length。在这种情况下,结果为0或false。
    length 拷贝的数组元素长度。如果length的长度大于a.length,结果为0或false;否则,数组中只有前面length个数组元素的拷贝值。
int []arr = new int[5];
arr=Arrays.copyOf(arr,arr.length+1);
// 注:Arrays.copyof();方法返回的是一个新数组(引用),即会重新在java堆中开辟arr.length+1个int类型的空间,并将地址返回给arr

在这里插入图片描述
3. System.arraycopy(src, srcPos, dest, destPos, length);

int []arr = new int[]{1,2,3,4,5};
int []brr = new int[arr.length];
System.arraycopy(arr,0.brr,0,arr.length);
  1. 数组名.clone();
int []arr = new int[5];
int []brr = arr.clone();

二维数组

二维数组通俗的理解就是一维数组中每一个元素不再是一个具体类型的元素,而是一个一维数组。

1.二维数组的定义

二维数组的初始化方式:

  1. int[][] arr={{1,2,3},{4,5,6},{7,8,9}};或者 int[][] arr=new int[][]{{1,2,3},{4,5,6},{7,8,9}}; //定义三行三列的二维数组
  2. int[][] arr=new int[3][];//相当于定义了二维数组里的行数
    arr[0]=new int[3];
    arr[1]=new int[3];
    arr[1]=new int[3];//分别定义每一行中存放的元素类型,也是一个一维数组
  3. int [][]a=new int[3][3];
  4. int[][] arr={new int[3],new int[3],new int[3]}
2.二维数组的遍历

二维数组的遍历方式有三种:

  1. for循环遍历:
int [][]arr = new int[3][3];
for(int i=0;i<arr.length;i++){
     for(int j=0;j<arr[i].length;j++)
           System.out.println(arr[i][j]);
}
  1. foreach循环遍历:
int [][]arr = new int[3][3];
for(int []a : arr){
     for(int x : a){
           System.out.println(a);
     }
}
  1. Arrays 类中的方法:todeepString()
3.二维数组的拷贝

二维数组的拷贝方式有四种:

  1. for 循环进行拷贝:
  2. Arrays.copyof();
  3. System.arraycopy();
int [][]arr = new int[][]{{1,2,3},{4,,5,6},{7,8,9}};
int [][]brr = new int[arr.length][arr[0].length];
System.arraycopy(arr,0,brr,0,arr.length);
System.out.println(Arrays.todeepString(brr));
  1. 数组名.clone();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值