版权声明:如需转载注明出处 https://blog.csdn.net/u011463794/article/details/88924928
平时在做编程题的时候遇到数组处理总是很麻烦,需要自己写,后来我发现了一个很好用的工具类Arrays
Java提供的Arrays包含许多类方法,可以直接用Arrays.类方法的形式使用
下面是该类的定义:
java.lang.Object
java.util.Arrays
public class Arrays
extends Object
其中很有用的几个方法如下:
public static <T> List<T> asList(T... a)
返回由指定数组支持的一个固定大小的列表。
public static int binarySearch(Object[] a, Object key)
使用二进制搜索算法在指定的对象中搜索指定的数组。数组必须排序为升序按其元素的 natural ordering(由 sort(Object[])法)进行调用之前。如果它没有排序,结果是不确定的。
public static <T> T[] copyOf(T[] original, int newLength)
复制指定的数组,截断或填充空值(如果需要)所以副本具有指定的长度。
public static <T> T[] copyOfRange(T[] original, int from, int to)
将指定的数组指定的范围复制到一个新的数组中。该范围的初始指标( from)必须是零和 original.length之间
public static boolean equals(Object[] a, Object[] a2)
如果两个数组包含相同数量的元素,和在两个数组中的所有对应的元素是相等的,返回true
public static void fill(Object[] a, int fromIndex, int toIndex, Object val)
将指定的对象引用分配给指定的对象数组的指定范围的每个元素。范围是从fromIndex到toIndex,如果没有这两个参数,则代表把数组a的所有元素都赋值为val
public static void sort(Object[] a, int fromIndex, int toIndex)
各种各样的指定对象数组的指定范围为升序,根据其元素的 natural ordering。范围要排序的指标 fromIndex到toIndex。如果没有范围参数,也就是重载,意思是排序所有的元素,需要注意的是范围内的元素必须实现 Comparable接口
public static String toString(Object[] a)
返回指定数组的内容的字符串表示形式。
下面是例子
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
/**
* 项目名: Atest
* 包名:
* 文件名: ArraysTest.java
* 创建时间: 2019年3月31日
*
* @author: xiatom
* 描述:
*
*
**/
public class ArraysTest {
public static void main(String[] args) {
List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
//得到[Larry, Moe, Curly]
int[] a = {1,2,3,4,5,6,7};
int[] b = Arrays.copyOf(a, a.length);
//b的值跟a一样,不过是新的对象
int[] c = new int[5];
Arrays.fill(c, 10);
//得到10 10 10 10 10
int[] d = {3,2,4,6,5,8,6,9,1};
Arrays.sort(d);
//得到1 2 3 4 5 6 6 8 9
int[] e = {3,2,4,6,5,8,6,9,1};
Arrays.sort(e,4,8);
//得到3 2 4 6 5 6 8 9 1
}
、
}