package ch01basic;
import java.util.Arrays;
public class ArrayDemo {
/**
* 数组基本用法
*/
public void basic() {
int[] array = {1, 2};
System.out.println(array.getClass().getName());
}
/**
* 数组的复制
*/
public void copyArray() {
int[] i = new int[7];
int[] j = new int[10];
Arrays.fill(i, 47); // 填充数组
Arrays.fill(j, 10);
System.out.println("i=" + Arrays.toString(i));
System.out.println("j=" + Arrays.toString(j));
// 复制数组,效率最高的方式
System.arraycopy(i, 0, j, 0, i.length);
System.out.println("数组复制完后的结果...");
System.out.println("i=" + Arrays.toString(i));
System.out.println("j=" + Arrays.toString(j));
}
/**
* 数组的比较
* 数组元素必须都overload了equals方法
* 所有基本类型和Object类型都已经重载了equals方法
*/
public void compare() {
int[] i = new int[7];
int[] j = new int[7];
Arrays.fill(i, 10); // 填充数组
Arrays.fill(j, 10);
System.out.println(Arrays.equals(i, j));
}
/**
* 数组排序和二分查找
* 数组元素必须实现了Comparable接口
*/
public void sort() {
int[] i = {6, 3, 5, 6, 8, 9, 4, 1};
System.out.println("i=" + Arrays.toString(i));
Arrays.sort(i);
// 排序完后可以二分查找
int find = Arrays.binarySearch(i, 8);
System.out.println("i=" + Arrays.toString(i));
System.out.println("find=" + find);
}
}