数组工具类篇:import java.util.Arrays

242 阅读1分钟

常用篇:

  • Arrays.toString(Object[] a) —— 用字符串来返回数组

    例子:

    	int[] a = new int[]{4, -3, 5, 2, 1, 6, 7, 8, 9, 0};
    	// Arrays.toString(Object[] a)
    	System.out.println(Arrays.toString(a));
    

    结果:

    [4, -3, 5, 2, 1, 6, 7, 8, 9, 0]
    

  • Arrays.sort(Object[] array, int fromIndex, int toIndex) —— 对数组下标在[fromIndex,toIndex]的数据进行从小到大的排序

    例子:

    	int[] a = new int[]{4, -3, 5, 2, 1, 6, 7, 8, 9, 0};
    	// Arrays.sort(Object[] array, int fromIndex, int toIndex)
    	Arrays.sort(a, 0, 2);
    	System.out.println();
    	System.out.println(Arrays.toString(a));
    

    结果:

    [-3, 4, 5, 2, 1, 6, 7, 8, 9, 0]
    

  • Arrays.sort(Object[] array) —— 对整个数组进行从小到大的排序

    例子:

            int[] arr = new int[]{2, 3, 4, 1, 5, 7, 3, 2, 3};
            char[] cArr = new char[]{'A', 'a', 'c', 'b', 'd', 'e', 'F'};
            String[] sArr = new String[]{"def", "cde", "abc", "bcd", "efg", "aaaaaa" , "AAAaaa"};
            String[] sCArr = new String[]{"啊","不是","从这走"};
            // Arrays.sort(Object[] array)
            Arrays.sort(arr);
            Arrays.sort(cArr);
            Arrays.sort(sArr);
            Arrays.sort(sCArr);
            System.out.println(Arrays.toString(arr));
            System.out.println(Arrays.toString(cArr));
            System.out.println(Arrays.toString(sArr));
            System.out.println(Arrays.toString(sCArr));
    

    结果:

    [1, 2, 2, 3, 3, 3, 4, 5, 7]
    [A, F, a, b, c, d, e]
    [AAAaaa, aaaaaa, abc, bcd, cde, def, efg]
    [不是, 从这走, 啊]
    

    总结

    1. 对数字是从小到大排序
    2. 对于英文是大写优先,从A~z排序

  • Arrays.binarySearch(Object[] array,Object key) —— 在array中查找key,如果找到返回key下标,否则返回-1

    例子:

            // Arrays.binarySearch(Object[] arr,Object key);
            int index = Arrays.binarySearch(a, -3);     // 大于等于0就是找到了
            System.out.println(index);
            index = Arrays.binarySearch(a, 9);
            System.out.println(index);
            index = Arrays.binarySearch(a, -23);     // 小于0就是没找到了
    

    结果:

    1
    8
    -1
    

  • Arrays.fill(Object[] array,Object val) —— 将array里的所有元素替换成val

    例子:

            int[] a = new int[]{4, -3, 5, 2, 1, 6, 7, 8, 9, 0};
            // Arrays.fill(int[] a,val);
            System.out.println(Arrays.toString(a));
            Arrays.fill(a, 1);
            System.out.println(Arrays.toString(a));
    

    结果:

    [4, -3, 5, 2, 1, 6, 7, 8, 9, 0]
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
    

    总结:

    1. 一般数组和val的类型必须是一致的