1. 程式人生 > >java Arrays類的常用操作

java Arrays類的常用操作

1.int binarySearch(type[] arrayName,type key)
使用二分法查詢key值在陣列中出現的下標值,如果陣列中沒有key這個值,則返回負數。呼叫該方法之前應先使陣列按升序排序,方能得到正確結果。

2. viod sort(type[] arrayName)
對陣列進行升序排序。

3.toString(type[] a)
將陣列轉換成一個字串,元素之間用 ‘,’隔開。

public class Test2 {
    public static void main(String[] args) {
        int[] str = {2,5
,6,7,3,4}; Arrays.sort(str); //對str按升序進行排序 System.out.println(Arrays.toString(str)); //列印陣列結果 System.out.println(Arrays.binarySearch(str,3)); //查詢值為3的下標 } }

結果:

[2, 3, 4, 5, 6, 7]
1

java 8增強的常用功能:

1.void parallelPrefix(xxx[] arrayName,XxxBinaryOperator op)
使用op引數指定的計算公式計算得到的結果作為新的元素。op計算公式包括left ,right 兩個形參,其中left代表陣列中前一個下標出的元素,right代表陣列中當前下標處的元素,當計算第一個新陣列元素時,left的值為1。
2.void setAll(xxx[] arrayName , IntToXxxFunction generator )
使用指定的生成器(generator)為所有陣列元素設定值,該生成器控制陣列元素的值的生成演算法。

public class Test2 {
    public static void main(String[] args) {
        int[] str = {2,3,4,5,6,7};
        Arrays.parallelPrefix(str, new IntBinaryOperator() {
            @Override
            public int applyAsInt(int left, int right) {
            //left代表陣列前一個下標處的元素,計算第一個元素時,left為1。
            //right代表當前下標處的元素
return left * right; } }); System.out.println(Arrays.toString(str)); int[] str2={2,4,6,8}; Arrays.parallelSetAll(str2, new IntUnaryOperator() { @Override //operand代表正在計算的元素下標 public int applyAsInt(int operand) { return operand; } }); System.out.println(Arrays.toString(str2)); } }

結果:

[2, 6, 24, 120, 720, 5040]
[0, 1, 2, 3]