Java Array学习笔记
1.Array[]数组
1、概述
数组(Array), 是多个相同类型数据按一定顺序排列的集合, 并使用一个名字命名, 并通过编号的方式对这些数据进行统一管理。
2、注意点
数组本身是引用数据类型, 而数组中的元素可以是任何数据类型, 包括基本数据类型和引用数据类型。
创建数组对象会在内存中开辟一整块连续的空间, 而数组名中引用的是这块连续空间的首地址。
数组的长度一旦确定, 就不能修改。 数组一旦初始化,其长度是不可变的 。
我们可以直接通过下标(或索引)的方式调用指定位置的元素, 速度很快。
数组是引用类型,它的元素相当于类的成员变量,因此数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化。例如int型的数组初始化为0,string为Null。
2.一维数组
-
数组创建之后就不能改变大小
-
数组创建之后,若没有指定初始值,则依据数组类型的不同,会预设不同的初始值
int[] myArray; // 定义一个指向数据 myArray = new int[100]; // 创建一个可容纳100个元素的数组,并且用myArray指向它,默认所有的元素值被初始化成0
也可以在创建数组的同时进行初始化, 这种方式不用指定数组的长度:
int[] myArray = {0,3,6,9,12,15,18,21,24,27};
//或者:int[] myArray = new int[] {0,3,6,9,12,15,18,21,24,27};
-
数组有一个length属性,可以取回数组中元素的个数:
int arrayLength = myArray.length;
3.二维数组
1.二维数组用数组“名称”与“两个索引”来指定存取数组中的元素。
其定义方式与一维数组类似:
int[][] arr = {{1,2,3},{4,5,6}};//注意length所代表的长度,数组名后直接加上length(如arr.length),所指的是数组有几行; 指定索引后加上length(如arr[0].length),指的是该行拥有的元素,也就是列的数目。
4.Arrays方法
常用的六种Arrays方法及代码实例如下:
public class ArraysDemo{
public static void main(String[] args) {
int n1 [] ={1,6,2,8,5,4,7,3};
int n2 [] ={1,6,2,8,5,4,7,3};
// 1. .equals 比较两个数组是否全等
boolean equals = Arrays.equals(n1, n2);
System.out.println(equals);
// 2. 对n1升序排列
Arrays.sort(n1);
// iter+回车键 快速输出n1
for (int i : n1) {
System.out.print(i);
}
//3. 将数组n1转换为字符串
String s = Arrays.toString(n1);
System.out.println("\n" +s);
//4. 将数组n2中的所有元素全部转变成10
Arrays.fill(n2,10);
for (int i : n2) {
System.out.print(i+",");
}
System.out.println();
//5. 将数组复制成一个长度为6的新数组,类型与原数组保持一致.
int[] n11 = Arrays.copyOf(n1, 6);
for (int i : n11) {
System.out.print(+i);
}
//6. 查询元素key在数组中的下标,(原数组需升序排列)
System.out.println();
int i = Arrays.binarySearch(n1, 6);
System.out.println("数字6在n1数组中的下标为"+i);
}
}