数组(Array)

数组(Array)

数组的特点

​ java中的数组是一个数据完全相同且有序的集合

​ 长度是确定的

​ 数据可以是任何类型

数组的优缺点

优:

​ 按照索引查找元素快|方便访问元素

​ 能存储大量数据

​ 遍历方便

缺:

​ 根据内容查找元素慢

​ 数组大小一经确定不能更改,不适合动态存储

​ 只能存储一种类型的数据

​ 增删效率慢

数组的常用方法

length 返回数组长度

Arrays.sort() 数组排序

​ 数字排序从小到大

Arrays.toString() 将数组中的内容全部打印出来

​ ·Arrays.equals() 比较数组元素是否相等

数组的定义

一维数组的定义


基本数据类型|引用数据类型[]  变量名 = new 基本数据类型|引用数据类型[];
int[] arr=new int[5];
int[] arr=new int[存放数值长度];
//一维数组我们也可以这样定义
int [] arr=new int[5];
int arr[]=new int[5];

一维数组的赋值方式

静态初始化
在确定数组长度的时候我们可以使用静态初始化
    静态初始化
    int[] arr=new int[]{5,6,84,6,3,5};
    也可把这样写
    int[] arr={5,6,84,6,3,5};
动态初始化
动态初始化
    动态初始化我们要在定义的时候给定数组长度
    
    初始化时我们要指定数组的索引下标然后操作相应的索引下标赋值
    
    int[] arr=new int[4];
    数组名[索引下标位置]=相对数据类型的值;

    arr[0]=5;
    arr[1]=4;
    arr[2]=3;
    arr[3]=2;

数组的遍历

普通for循环
int[] arr=new int[]{5,6,5,5,6,8,10};
for (int i=0;i< arr.length;i++){
   System.out.print(arr[i]+"\t");
}
增强for循环(forEach)
int[] arr=new int[]{5,6,5,5,6,8,10};
for (int num:arr){
    System.out.print(num+"\t");
}

二维数组的定义

基本数据类型|引用数据类型[][] 变量名=new 基本数据类型|引用数据类型[外层二维数组长度][];
int[][] arr=new int[9][];//标准定义

也可以这样定义



	int[][] arr=new int[9][];//标准定义
	int[] arr[]=new int[9][];
	int [][]arr=new int[9][];
	int arr[][]=new int[9][];
	```

**二维数组的赋值操作**

```java
/静态初始化
int[][] arr=new int[][]{{1},{2,3},{4,5,6}};

			//动态初始化
			arr[0][0]=1;
			
			arr[1][0]=2;
			arr[1][1]=3;
			
			arr[2][0]=4;
			arr[2][1]=5;
			arr[2][2]=6;

二维数组的遍历

二维数组的遍历方式跟一维数组的方式有些不同,二维数组需要循环嵌套,因此有很多方式:

普通双层for循环

int[][] arr=new int[][]{{1},{2,3},{4,5,6}};
    for (int i=0;i<arr.length;i++){
        for (int j=0;j<arr[i].length;j++){
            System.out.print(Array.get(arr[i],j)+"\t");
        }
        System.out.println();
    }
}

在这里插入图片描述

双层增强for循环

int[][] arr = new int[][]{{1}, {2, 3}, {4, 5, 6}};
    for (int[] temp:arr){
        for (int num:temp){
            System.out.print(num+"\t");
        }
        System.out.println();
    }

在这里插入图片描述

遍历出来的效果都是一样的

还可以增强for循环嵌套普通for循环,也可以普通for循环嵌套增强for循环,根据情况选择。

注意:增强for循环不可以操作索引!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值