package arrays;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
/**
* Arrays常用方法,很多方法必须是Integer[] ,int[] 会报错
* 都是静态方法,使用类名Arrays.直接调用
*/
public class TestArrays {
public static void main(String[] args) {
Integer[] arr = {7,4,6,3,8};
//1、显示数组信息 Arrays.toString
System.out.println(Arrays.toString(arr));
//2、默认排序,升序 Arrays.sort
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
//3、也可以按自己的比较规则定制排序,通过给sort传入一个compator接口的实现类(可使用匿名内部类)
// public static <T> void sort(T[] a, Comparator<? super T> c)
//注意泛型只能接收包装类
Arrays.sort(arr,new Comparator<Integer>(){ //底层用的是binarySort方法
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1 ; //o1 - o2是从小到大,o2 - o1是从大到小
}
});
System.out.println(Arrays.toString(arr));
//4、如果数组已经有序,可以使用Arrays.binarySearch方法查找
System.out.println("查找的结果是:" + Arrays.binarySearch(arr,6));
//5、拷贝数组,Arrays.copyOf(),注意用int[]接收会报错,第二个参数是新数组的长度
Integer[] newArr = Arrays.copyOf(arr, 5);
System.out.println(Arrays.toString(newArr));
//6、数组填充 Arrays.fill
int[] arr2 = new int[7]; //数组是有默认值的
Arrays.fill(arr2,-1);
System.out.println(Arrays.toString(arr2));
//7、比较两个数组内容是否完全一致 Arrays.equals
int[] arr3 = {1,2,3};
int[] arr4 = {1,2,3};
System.out.println(Arrays.equals(arr3, arr4));
//8、将一组值转换成List , Arrays.asList方法,默认生成的是Arrays下的内部类类 ArrayList
List<Integer> list = Arrays.asList(arr);
List<Integer> list2 = Arrays.asList(1,2,3,4,5); //也可以接收多个整型
System.out.println(list.toString());
System.out.println(list2.toString());
}
}
Java Arrays常用方法总结
最新推荐文章于 2024-02-02 12:51:10 发布