JavaSE教程_进阶
static int:
binarySearch(int[] a, int key) 在a数组中查找key元素是否存在,如果存在返回key元素在数组中的索引值,如果不存在返回负数。
static int[]:
copyOf(int[] original, int newLength) 数组的复制, newLength指定新数组的长度, 把orginal数组中的元素复制到新的数组中,返回新的数组。
static int[]:
copyOfRange(int[] original, int from, int to) 把original数组[from,to]范围的元素复制到新的数组中, 返回新的数组。
static String:
deepToString(Object[] a) 把多维数组中的元素转换为字符串。
static void:
fill(int[] a, int val) 使用val值填充整个a数组。
static void:
parallelSort(int[] a) 对数组a进行并行排序, 适合数组元素非常多的情况。
static void:
sort(int[] a) 对数组a进行排序。
static <T> void:
sort(T[] a, Comparator<? super T> c) 对对象数组排序,可以指定对象的比较器。
static String:
toString(int[] a) 把数组的元素转换为字符串。
package com.wkcto.chapter03.demo01;
import java.util.Arrays;
/**
* Arrays工具类的基本使用
* @author 蛙课网
*
*/
public class Test11 {
public static void main(String[] args) {
int [] data = {67,23,786,4,12,87};
//1)对数组排序
Arrays.sort(data);
//2)打印数组
System.out.println( Arrays.toString(data)); //[4, 12, 23, 67, 87, 786]
//3)数组复制
data = Arrays.copyOf(data, data.length*2 );
System.out.println( Arrays.toString(data )); //[4, 12, 23, 67, 87, 786, 0, 0, 0, 0, 0, 0]
data = Arrays.copyOf(data, data.length*2/3 );
System.out.println( Arrays.toString(data)); //[4, 12, 23, 67, 87, 786, 0, 0]
//4)填充
Arrays.fill(data, 6, data.length, 666);
System.out.println( Arrays.toString(data)); //[4, 12, 23, 67, 87, 786, 666, 666]
//5)二分查找, 前提是数组已经由小到大排序
Arrays.sort(data);
System.out.println( Arrays.toString(data)); //[4, 12, 23, 67, 87, 666, 666, 786]
//只要是返回结果大于等于0,表示元素存在, 结果是负数表示不存在
System.out.println( Arrays.binarySearch(data, 4));
System.out.println( Arrays.binarySearch(data, 67));
System.out.println( Arrays.binarySearch(data, 786));
System.out.println( Arrays.binarySearch(data, 666));
System.out.println( Arrays.binarySearch(data, 888)); //-9
}
}