二维数组
java中定义和操作多维数组的语法和一维数组相似,一般情况下多维数组很少用,主要是用二维数组。
数据类型[ ] [ ] 数组名;
Or:
数据类型 数组名 [ ] [ ]
int [][]scores//定义二维数组
score = new int[3][5]//分配内存空间
或者:
score = new int[3][]//也是可以的
从语法上来看java支持多维数组,但从内存分配原理的角度看java中只有一维数组。多维数组其实就是由多个一维数组拼凑成的。
二维数组的使用
int[][]scores=new int[]{{1,2,3},{4,5},{8}}//定义并初始化
or:
int scores[][]={{1,2,3,4,5},{6,7,8},{9}}
Array类
方法 | 返回类型 | 说明 |
---|---|---|
equals(array1,array2) | Boolean | 比较两数组是否相等 |
sort(Array) | void | 对整个数组排升序 |
toString(array) | String | 把数组换成字符串 |
fill(array, val) | Void | 把数组里所有元素赋值成val |
copyOf(array, length) | 与array数据类型一致 | 把数组复制成长度维length的新数组 |
BinarySearch(array, val) | Int | 查询val在数组中的下标 |
static void Main(string[] args)
{
int[] list = { 23, 12, 187, 44};
Console.Write("旧数组: ");
foreach (int i in list)
{
Console.Write(i + " ");
}
Console.WriteLine();
// 逆转数组
Array.Reverse(list);
Console.Write("逆转数组: ");
foreach (int i in list)
{
Console.Write(i + " ");
}
Console.WriteLine();
// 排序数组
Array.Sort(list);
Console.Write("排序数组: ");
foreach (int i in list)
{
Console.Write(i + " ");
}
Console.WriteLine();
Console.ReadKey();
}
https://www.runoob.com/csharp/csharp-array-class.html
查询元素在数组中下标
public static void main(String[] args){
int[] arr = {12,34,45,56};
Arrays.sort(arr);
int index=Arrays.binarySearch(arr,56);
System.out.println(index);
index=Arrays.binarySearch(arr,34);
System.out.println(index);
}