java Arrays类的常用操作

来源:互联网 发布:游戏王ocg和tcg知乎 编辑:程序博客网 时间:2024/06/06 06:59

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]
原创粉丝点击