Day04_17_常用Arrays类

常用Arrays类

  • Arrays.toString()方法

    • 该方法是用来将数组中得内容转换成String类型,进行输出。入参可以是(byte,int,long,float,double,boolean,object)型的数组。

    • 直接使用 数组名.toString() 只会打印出数组的地址.

        int []arr={1,8,7,5,36,54,12,31,25,15,4,1,2,3,5};
      
        System.out.println(Arrays.toString(arr));  //[1, 8, 7, 5, 36, 54, 12, 31, 25, 15, 4, 1, 2, 3, 5]
      
        System.out.println(arr.toString());    //[I@1b6d3586
      
      
      
    • 实现 toString() 方法

       // 重写toString()方法
      public static  void  toStr(int arr[]){
         for(int i=0;i<arr.length;i++){
            if(i==0){
              System.out.print("[");
            }
      
            if(i==arr.length-1){
              System.out.println(arr[i]+"]");
             }else{
              System.out.print(arr[i]+",  ");
           }
      
       }
      
      
      
      
      
      
  • Arrays.sort()方法 排序

    • Arrays.sort(int[] a) 对一个数组的所有元素进行排序,并且是按从小到大的顺序。

    • Arrays.sort(int[] a, int fromIndex, int toIndex)对数组部分数据排序,也就是,数组a的下标从fromIndex到toIndex-1的元素排序,注意:下标为toIndex的元素不参与排序!从小到大。

       Arrays.sort(a);
       System.out.println(Arrays.toString(a));  //  [1, 2, 3, 4, 5]
      
      
      
      
      
      
  • Arrays.fill() 方法

    - public static void fill(int[] a, form, to, int val)
    
      参数:a:数组名
    
      form:替换开始位置(包括) 
    
      to:替换结束位置(不包括)   
    
      val:要替换的值 
    
    
    - 举例子
    
      Arrays.fill( a1, value );
    
      a1是一个数组变量,value是一个和a1中元素数据类型相符合的值,    其作用是:填充a1数组中的每个元素都是value
    
    
      boolean[] a1 = new boolean[5];
    
      Arrays.fill( a1,true );
    
      结果 a1[] = {true,true,true,true,true};
    
  • Arrays.equals(数组a,数组b) 若两个数组的长度相等,且数组中得每一个位置的元素也相等,则认为这两个数组相等,返回值是false、true

        int a[]={1,1,1,1};
    
        int b[]={1,1,1,1};
    
        System.out.println(a==b);                 //false
    
        System.out.println(Arrays.equals(a,b));  //true
    
    
    
    
    
    
  • Arrays.binarySerach()方法

    • 查找数组中的某个元素

    • binarySearch(object[], object key);

    • 如果key在数组中存在,则返回搜该元素的索引; 如果key不在该数组中,则返回-1(key值小于数组中的任意一个元素)或返回 -(数组中最大元素索引+2) (key大于数组中的任意一个元素)

  • Arrays.copyOf()方法

    • public static void copyOf(Object src, int length);

    • 调用Arrays的copyOf()方法后,传回的数组是新的数组对象,不是原有数组,改变传回数组中的元素值,不会影响原来的数组。

    • copyOf()方法的第二个参数是指定要新建立的新数组长度,如果新数组的长度超过原数组的长度,则使用默认值填充。

    • 例如:

      int[] arr={1,2,3,4,5};
      
      int []arr1=Arrays.copyOf(arr,10);
      
      System.out.println(Arrays.toString(arr1)); // [1, 2, 3, 4, 5, 0, 0, 0, 0, 0]
      
      
posted @ 2021-03-28 11:05  失昼  阅读(41)  评论(0)    收藏  举报