`

Java数组排序Arrays_sort,Comparator接口的用法 (三)

阅读更多

利用Arrays类里的静态方法,如需更进一步了解请见API文档,为了方便本博客内有中文API文档,供大家参考学习,如有错误的地方还请各位大侠指教。

 

package com.seimma.arrayssort;

import java.util.Arrays;

public class ArraySort {
    public static void main(String []args){
     int [] array=new int []{1,2,3,4,5,6,7,8,9};
     int [] arrays=new int[]{1,2,3,4,5,6,7,8,9};
     int [] arraysFill=new int []{1,2,3,4,5,6,7,8,9};
     int [] arrayToString=new int []{23,45,32,12,86,54,46,98,14,47,50};
     ArraySort aSort=new ArraySort();
     aSort.binarrySearch(arrays);
     aSort.arraysEquals(arrays, array);
     aSort.arraysFill(array);
     aSort.arraysFillIndex(arraysFill);
     aSort.arraysToString(arrayToString);
     aSort.arrayCopy(arrayToString, arraysFill);
    }
    /**
     * 使用二分法查询8元素在数组arrays中出现的索引
     * @param arrays 需要查询的数组
     * @return
     */
    public int binarrySearch(int [] arrays){
     /**
      * 使用二分法查询8元素在数组arrays中出现的索引,如果数组中不含8元素,
      * 则返回负数,调用该方法要求数组已经按升序排列才能取得正确的结果
      */
     int num=Arrays.binarySearch(arrays, 8);
     System.out.println(num);
     return num;
    }
   
    /**
     * 比较两个数组是否相等
     * @param array
     * @param arrays
     */
    public void arraysEquals (int [] array,int [] arrays){
     boolean temp=Arrays.equals(array, arrays);
     if(temp==true){
      System.out.println("相等");
     }else {
      System.out.println("不相等");
        }
    }
   
    public void arraysFill(int [] array){
     System.out.println("原数组的元素:");
     for (int i = 0; i < array.length; i++) {
      System.out.println(array[i]);
  }
     
     System.out.println("赋值后的元素");
     Arrays.fill(array, 8);
     for (int i = 0; i < array.length; i++) {
      System.out.println(array[i]);
   
  }
    }
   
    public void arraysFillIndex(int [] arraysFill){
     System.out.println("原数组元素:");
     for (int i = 0; i < arraysFill.length; i++) {
   System.out.println(arraysFill[i]);
  }
     
     System.out.println("给数组局部赋值后的数组元素:");
     Arrays.fill(arraysFill, 3, 7, 8);
     for (int i = 0; i < arraysFill.length; i++) {
   System.out.println(arraysFill[i]);
  }
    }
    /**
     * 将一个数组转换为字符串
     * @param arrays 传人的数组
     */
    public void arraysToString(int [] arrays){
   System.out.println("arraysToString数组的元素为:"+Arrays.toString(arrays));
    }
   
    /**
     * 将数组arrayToString中的元素赋给arraysFill数组中
     * @param arrayToString 原数组
     * @param arraysFill 目标数组
     */
    public void arrayCopy(int [] arrayToString,int [] arraysFill){
     int numString=2;    //原数组的起始位
     int numFill=3;      //目标数组的起始位
     int length=6;       //要负责数组元素的数量
     System.out.println("没有替换之前的arraysFill数组元素:");
     for (int i = 0; i < arraysFill.length; i++) {
   System.out.println(arraysFill[i]);
  }
     System.out.println("替换后的arraysFill数组元素:");
     System.arraycopy(arrayToString, numString, arraysFill, numFill ,length);
     //查看修改后的目标数组
     for (int i = 0; i < arraysFill.length; i++) {
   System.out.println(arraysFill[i]);
  }
    }
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics