栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java Arrays中常用方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java Arrays中常用方法

Java Arrays常用方法
  • 前言
  • Arrays.fill( ); 数组填充
  • Arrays.toString(array) 打印数组
  • Arrays.sort()排序合集
  • Arrays.equals(); 比较数组元素是否相等
  • 截取数组
    • Arrays.copeOf()
    • Arrays.copeOfRange();
  • Arrays.binarySearch()二分法查找指定元素的下标 *符号找不到

前言

Arrays类位于 java.util 包中,主要包含了操作数组的各种方法。

Arrays.fill( ); 数组填充
  • 覆盖填充
 // 填充数组
        int[] array = new int[10];
        Arrays.fill(array, 4);
        Arrays.fill(array, 5);
        String str = Arrays.toString(array); // Arrays类的toString()方法能将数组中的内容全部打印出来
        System.out.print(str); // 覆盖后结果为5
  • 区域填充
        // 填充数组
        int[] array = new int[10];
        // 从下标为0到下标为4的填充5
        Arrays.fill(array, 0,4,5);
        String str = Arrays.toString(array); // Arrays类的toString()方法能将数组中的内容全部打印出来
        System.out.print(str);
        // [5, 5, 5, 5, 0, 0, 0, 0, 0, 0]
Arrays.toString(array) 打印数组
  String str = Arrays.toString(array); // Arrays类的toString()方法能将数组中的内容全部打印出来
Arrays.sort()排序合集
  • 1.1数组常规排序
  // 填充数组
        int[] array1 = new int[]{3, 1, 5, 8, 20, -12};
        // 排序
        Arrays.sort(array1);
        String str = Arrays.toString(array1); // Arrays类的toString()方法能将数组中的内容全部打印出来
        System.out.print(str);
  • 1.2数组降序
        // 降序
        // 填充数组
        Integer[] array1 ={3, 12, 5, 8, 20, -12};
        // 排序
        Arrays.sort(array1,Collections.reverseOrder());
  • 1.3指定位置排序
        // 填充数组
        Integer[] array1 ={3, 12, 5, 8, 20, -12};
        //第0位(0开始)到第5位(不包括)排序
        Arrays.sort(array1,0,5);
        String str = Arrays.toString(array1);
        System.out.print(str);
        //输出:[3, 5, 8, 12, 20, -12]

  • 2.字符串排序 默认先大写在小写
 String[] strArray = new String[] { "Z","z", "a", "f" };
        Arrays.sort(strArray);
        String str1 = Arrays.toString(strArray);
        System.out.println(str1);
        //输出:[Z, a, f, z]

-3. 按照字母排序忽略大小写 String.CASE_INSENSITIVE_ORDER

        Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
        String str2 = Arrays.toString(strArray);
        System.out.println(str2);
        //输出:  [a, f, Z, z]
  • 4.反向排序(降序)reverse-order sort
      Arrays.sort(strArray, Collections.reverseOrder());
        String str2 = Arrays.toString(strArray);
        System.out.println(str2);
        //输出: [z, f, a, Z]
  • 5.忽略大小写降序 Case-insensitive reverse-order sort
        Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
        Collections.reverse(Arrays.asList(strArray));
        String str2 = Arrays.toString(strArray);
        System.out.println(str2);
        //输出:[z, Z, f, a]
Arrays.equals(); 比较数组元素是否相等
     // 填充数组
        Integer[] array1 ={3, 12, 5, 8, 20, -12};
        Integer[] array2 ={3, 12, 5, 8, 20, -12};
        System.out.println(Arrays.equals(array1,array2));
        // 输出 true

        String[] strArray1 = new String[] { "你好","你好吗","?" };
        String[] strArray2 = new String[] { "你好","你好吗","1" };
        System.out.println(Arrays.equals(strArray1,strArray2));
        // 输出 true
截取数组 Arrays.copeOf()
    int[] arr = {10, 20, 30, 40, 50};
        // 截取arr数组的3个元素
        int[] arr1 = Arrays.copyOf(arr, 3);
        String str = Arrays.toString(arr1);
        System.out.print(str);
        //输出:[10, 20, 30] 
Arrays.copeOfRange();
   int []arr = {10,20,30,40,50};
        // 截取arr第1位(1开始)截取到第3位(不包括))
        int []arr1 = Arrays.copyOfRange(arr,1,3);
        String str = Arrays.toString(arr1); 
        System.out.print(str);
        //输出:[20, 30] 
Arrays.binarySearch()二分法查找指定元素的下标 *符号找不到
   int[] arr1 = {10, 20, 30, 40};
        System.out.println(Arrays.binarySearch(arr1, 30));
        //输出:2

       // 注意 "%" 找不到 
        String[] strArray1 = new String[] { "你好","你好吗","?","%" };
        System.out.println(Arrays.binarySearch(strArray1, "%"));
        //输出:-1

        int[] arr2 = {10, 20, 30, 40, 50};
        // (找不到元素,返回-x,从-1开始数,如题,返回-4)
        System.out.println(Arrays.binarySearch(arr2, 36));
        //输出:-4


        int[] arr3 = {10, 20, 30, 40, 50};
        // (从0到3位(不包括)找30,找到了,在第2位,返回2)
        System.out.println(Arrays.binarySearch(arr3, 0, 3, 30));
        //输出:2


        int[] arr4 = {10, 20, 30, 40, 50};
        // (从0到3位(不包括)找40,找不到,从-1开始数,返回-4)
        System.out.println(Arrays.binarySearch(arr4, 0, 3, 40));
        //输出:-4

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1023466.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号