各位小伙伴们大家好:
今天周日,又是在图书馆看书的下午,今天继续上一篇随笔说的数组继续进行总结。
建议读者在创建数组时,使用int[ ] a 这种而不是 int a[ ]这种,可以很清晰明朗地看出创建的是一个数组。
一、二维数组的创建(共3中初始化方式):
1、int[ ][ ] twoArray1={{1,2},{3,4},{5,6},{7,8}};
2、int[ ] [ ] twoArray2=new int[4] [2]; ——一共4个{ },每个{ }内有两个元素。
3、int[ ] [ ] twoArray3=new int[4] [ ]; ——后面的长度可以不固定。
二、遍历二位数组(共2中遍历方式):
1、二维数组不可以用for each()进行遍历,只能用普通for进行遍历:
for循环需嵌套:
for(int i=0;i<twoArray.length;i++){
for(int j=0;j<twoArray[i].length;j++){
System.out.print(twoArray[i][j]);
}
}
2、利用Arrays.deepToString()方法进行输出:
System.out.println(Arrays.deepToString(twoArray));
输出的结果为:
三、Arrays的方法及用途:
1、Arrays定义:是jdk中自带的用于操作array的工具类,里面的方法都是静态的:
2、下面我们就来详细地介绍一下Arrays都有哪些方法和具体的用途:
1)Arrays.sort:数组排序,这个方法使用了优化的快速排序(QuickSort)算法,快速排序算法对于大多数数据集合来说效率都是比较高的。
eg:
输出 :
2)Arrays.ToString() 返回一个包含数组中所有元素的字符串,这些元素用中括号包围,并用“,” 进行分割。在这个方法及后面的方法中,数组的元素类型可以是
byte,short,int,long,float,double,chart,boolean
eg:
输出:
这时读者就会好奇了,为什么每一个,后面都要有一个空格然后才有下一个元素。现在我们就来看一下ToString()的源码,大家可能就豁然开朗了。
3)copyOf这个方法在上一篇文章中已经提到了,此处略。
4)Arrays.binarySearch() 使用二分法在有序数组中(必须是有序数组,否则方法无效直接返回负数)
static int binarySearch(xxx[ ]a,int start,int end,xxx v )xxx为数据类型;
在有序输出中查找值v,如果找到v,则返回相应的下标,否则返回一个负数。
5)staic void fill (xxx[ ] a,xxx v) 将数组所有的元素设置为v。
6)static boolean equals (xxx[ ] a,xxx[ ] b) 如果两个数组的大小相同,并且下标相同的元素都对应相等,则返回true。
二维数组的创建和Arrays方法的使用(《Java核心技术卷1》)(202105116)
原文:https://www.cnblogs.com/skystrive/p/14774126.html