1. 程式人生 > 實用技巧 >Arrays常用方法

Arrays常用方法

java.util.Arrays

  • 陣列排序
static void sort(Object[] a)
static void sort(Object[] a, int fromIndex, int toIndex)
static <T> void sort(T[] a, Comparator<? super T> c)
static <T> void sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c)
  • 陣列轉String
static String toString(Object[] a)
static String deepToString(Object[] a)
  • 陣列填充
static void fill(Object[] a, Object val)
static void fill(Object[] a, int fromIndex, int toIndex, Object val) // [from, to)
  • 陣列比較
static boolean equals(Object[] a, Object[] a2)
static boolean deepEquals(Object[] a1, Object[] a2)
  • 陣列轉List
static <T> List<T> asList(T... a)  // 

這裡有兩個坑:

  1. 原始資料型別int的陣列呼叫asList之後得到的List只有一個元素,這個元素就是元素型別的陣列。而封裝類Integer陣列呼叫asList是把陣列中每個元素加到了List中。
int[] array = new int[]{3, 10, 4, 0, 2};
List<int[]> ints = Arrays.asList(array);

Integer[] arr = new Integer[]{3, 10, 4, 0, 2};
List<Integer> integers = Arrays.asList(arr);
  1. 返回的ListArrays.ArrayList
    ,不是java.util.ArrayList,不可以增刪改,需要再包裝一個成 ArrayList。
  • 陣列拷貝
static <T> T[] copyOf(T[] original, int newLength)
static <T> T[] copyOfRange(T[] original, int from, int to)
  • 二分查詢
static int binarySearch(Object[] a, Object key)
static int binarySearch(Object[] a, int fromIndex, int toIndex, Object key)
  • 陣列的hash值
// Returns a hash code based on the contents of the specified array.
static int hashCode(Object[] a)