java数组_6 _Arrays类
- 数组的工具类java.util.Arrays
- 由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。
- 查看JDK帮助文档
- Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而”不用"使用对象来调用(注意:是"不用”而不是“不能")
- 具有以下常用功能:
- 给数组赋值:通过fill方法。
- 对数组排序:通过sort方法,按升序。
- 比较数组:通过equals方法比较数组中元素值是否相等。
- 查找数组元素: 通过binarySearch方法能对排序好的数组进行二分查找法操作。
代码 :
package com.wlw.arrays;
import java.util.Arrays;
public class ArraysDemo06 {
public static void main(String[] args) {
int[] a = {1,31,23,34,346,685,63,2,5,68};
int[] b = {1,31,23,34,346,685,63,2,5,68};
System.out.println(a); // 对象的hashcode [I@4554617c
//打印数组元素 Arrays.toString()
System.out.println(Arrays.toString(a));
ArraysDemo06 demo06 = new ArraysDemo06();
demo06.printArrays(a); //这是方法没有加static的使用方法
System.out.println();
//sort 排序(升序)
Arrays.sort(a);
System.out.println(Arrays.toString(a));
//判断是否相等
System.out.println(Arrays.equals(a,b)); //false
//二分查找法
int i = Arrays.binarySearch(a,346);
System.out.println(i + " "+a[i]);
//填充 fill
Arrays.fill(a,-1);
System.out.println("填充后:"+Arrays.toString(a));
}
//打印数组元素
public void printArrays(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
if (i == 0) {
System.out.print("[");
System.out.print(arrays[i] + ", ");
} else if (i == arrays.length -1 ) {
System.out.print(arrays[i] +"]");
} else {
System.out.print(arrays[i] + ", ");
}
}
}
}
/*输出结果
[I@4554617c
[1, 31, 23, 34, 346, 685, 63, 2, 5, 68]
[1, 31, 23, 34, 346, 685, 63, 2, 5, 68]
[1, 2, 5, 23, 31, 34, 63, 68, 346, 685]
false
8 346
填充后:[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
*/