java Arrays類的常用操作
阿新 • • 發佈:2019-02-19
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]