美文网首页
Java中 Arrays的用法

Java中 Arrays的用法

作者: larQ | 来源:发表于2017-06-28 13:58 被阅读0次

    1. atList方法:返回一个固定大小的list

    • 定义:
    @SafeVarargs
    public static <T> List<T> asList(T... a)
    
    • 用法:
     ① List<String> stringList = Arrays.asList("Welcome", "To", "Java","World!");
     ② List<Integer> intList = Arrays.asList(1, 2, 3, 4);
     ```
    
    ### 2. binarySearch方法 :折半查找法 ,返回所给元素的索引
    - 用法:
    ```
    //fromIndex,toIndex这两个参数可以省略(表示整个数组)
    //不省略表示在这个区间查找,左闭右开, key 表示要查找的元素
    //返回要查找元素的 索引位置
    int index = Arrays.binarySearch(new int[] { 1, 2, 3, 4, 5, 6, 7 }, 6);
    public static int binarySearch(byte[] a, int fromIndex, int toIndex, byte key)
    ```
    
    ###3. copyOf及copyOfRange方法 :将一个数组拷贝到另一个数组中/或者其中的一部分
      - 用法:
      ```
    //索引都是从零开始
    String[] names2 = { "Eric", "John", "Alan", "Liz" };
    //[Eric, John, Alan]
    String[] copy = Arrays.copyOf(names2, 3); 
    //[Alan, Liz]   ,左闭右开
    String[] rangeCopy = Arrays.copyOfRange(names2, 2,
          names2.length);
    ```
    
    ### 4. sort方法:排序 (升序)
    - 用法:
    ```
    String[] names = { "Liz", "John", "Eric", "Alan" }; //按首字母
    //只排序前两个(左闭右开)
    //[John, Liz, Eric, Alan]
    Arrays.sort(names, 0, 2);
    //全部排序
    //[Alan, Eric, John, Liz]
    Arrays.sort(names);
    ```
    
    ### 5. toString: 遍历数组内容
    - 用法:
    ```
    String[] names = { "Liz", "John", "Eric", "Alan" };
    Arrays.sort(names);
    System.out.println(Arrays.toString(names));
    ```
    
    ### 6. deepToString方法,遍历二维数组
    - 用法:
    ```
    int[][] stuGrades = { { 80, 81, 82 }, { 84, 85, 86 }, { 87, 88, 89 } }; 
    System.out.println(Arrays.deepToString(stuGrades));
    //用toString(),打印出来的是地址
    ```
    
    ### 7. equals方法:比较两个数组
    - 用法:
    ```
    //返回boolean值
    String[] names1 = { "Eric", "John", "Alan", "Liz" };
    String[] names2 = { "Eric", "John", "Alan", "Liz" };
    System.out.println(Arrays.equals(names1, names2));
    ```
    
    ### 8. deepEquals方法:比较二位数组
    - 用法:
    ```
    //返回boolean值
    int[][] stuGrades1 = { { 80, 81, 82 }, { 84, 85, 86 }, { 87, 88, 89 } };
    int[][] stuGrades2 = { { 80, 81, 82 }, { 84, 85, 86 }, { 87, 88, 89 } };
    System.out.println(Arrays.deepEquals(stuGrades1, stuGrades2));
    ```
    
    ### 9. fill方法:填充数组
    - 定义:
    ```
    //fromIndex和toIndex可以省略
    //如果省略则 数组的每个值全部由 val 填充
    //有的话就是区间填充(左闭右开)
    public static void fill(T [] a,
            int fromIndex,
            int toIndex,
            T val)
    ```
    - 用法:
    ```
    int[] arr = new int[8];
    Arrays.fill(arr, 1);
    Arrats.fill(arr,1,4,123);
    ```
    
    
    [参考](http://blog.csdn.net/samjustin1/article/details/52661862)
    [文档 Ctrl+F输入Arrays](http://tool.oschina.net/apidocs/apidoc?api=jdk_7u4)

    相关文章

      网友评论

          本文标题:Java中 Arrays的用法

          本文链接:https://www.haomeiwen.com/subject/cjjucxtx.html