数组,以及Arrays.方法的使用
数组
创建数组的时候,要指明数组的长度。
1 | int a [ ] = new int[5] ; //分配了长度是5的数组,但是没有赋值 |
引用概念:
如果变量代表一个数组,比如a,我们把a叫做引用
与基本类型不同
1 | int c = 5; 这叫给c赋值为5 |
数组排序
选择法排序
1 | for (int j = 0; j < a.length-1; j++) {//外层循环一次, |
冒泡法排序
1 | for (int j = 0; j < a.length; j++) {// |
增强型for循环遍历
1 | int [] values = new int[]; |
复制数组:
把一个数组的值,复制到另一个数组中
System.arraycopy(src, srcPos, dest, destPos, length)
src: 源数组
srcPos: 从源数组复制数据的起始位置
dest: 目标数组
destPos: 复制到目标数组的起始位置
length: 复制的长度
这是一个二维数组,里面的每一个元素,都是一个一维数组
所以二维数组又叫数组的数组
int b[][] = new int[][]{
{1,2,3},
{4,5,6},
{7,8,9}
};
Arrays
Arrays是针对数组的工具类,可以进行 排序,查找,复制填充等功能。 大大提高了开发人员的工作效率。
copyOfRange 数组复制
与使用System.arraycopy进行数组复制类似的,Arrays提供了一个copyOfRange方法进行数组复制。
// copyOfRange(int[] original, int from, int to)
// 第一个参数表示源数组
// 第二个参数表示开始位置(取得到)
// 第三个参数表示结束位置(取不到)
toString() 转换为字符串
//int a[] = new int[] { 18, 62, 68, 82, 65, 9 };
//String content = Arrays.toString(a);
sort 排序
在前面章节学习了 选择法排序 和 冒泡法排序,Arrays工具类提供了一个sort方法,只需要一行代码即可完成排序功能。
Arrays.sort(a);
binarySearch 搜索
//使用binarySearch之前,必须先使用sort进行排序
//如果数组中有多个相同的元素,查找的结果是不确定的
int a[] = new int[] { 18, 62, 68, 82, 65, 9 };
Arrays.sort(a);
System.out.println(“数字 62出现的位置:”+Arrays.binarySearch(a, 62));
equals 判断是否相同
//比较两个数组的内容是否一样
System.out.println(Arrays.equals(a, b));
fill 填充
//使用同一个值,填充整个数组
int a[] = new int[10];
Arrays.fill(a, 5);
练习题
1 | import java.util.Arrays; |