给一个数组赋值,并获取数组中最大值,java代码优化

gzc
  • 69

 给数组赋值
public static int[] setValue(){
    int[] abc = new int[100];
    for(int i=0;i<100;i++){
        abc[i] = i;
    }
    return abc;
}

  获得数组中最大值
public static int findMax(int[] abc){
    int max = abc[0];
    for(int i=0;i<abc.length;i++){
        if(abc[i]>max) max=abc[i];
    }
    return max;
}

代码如何优化?

回复
阅读 2.7k
2 个回答
✓ 已被采纳

java 8:

int[] array = IntStream.range(0, 100).asArray();

OptionalInt opt = Arrays.stream(array).max();
int max = opt.getAsInt();
// 或者
OptionalInt opt2 = Arrays.stream(array).reduce((a, b)->a>b ? a : b);
int max2 = opt2.getAsInt();

// 如果是已经有一个数组的话,可以这样初始化:
int[] array2 = new int[100];
IntStream.range(0, array2.length).forEach(n->array2[n]=n);

只知道把for循环的i=0改成i=1,同求,等大神<( ̄︶ ̄)>

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏