java中使用stream流求数组元素的最大值最小值以及元素的和

java刷题时使用stream流简化一些代码(一)

前言;我们接下来将用三行代码分别求出一个数组的元素的最大值、最小值以及元素的和

求数组中的最大值和最小值

一般思路:
 /*
     * 求数组最大值最小值
     * @author xiaozhu
     * @date 2022/5/8 12:07
     * @param nums
     * @return java.util.Map
     */
    public Map<String, Integer> getMaxAndMin(int[] nums){

        Map<String, Integer> map = new HashMap<>();
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;

        for(int num : nums){
            if(num > max){
                max = num;
            }
            if(num < min){
                min = num;
            }
        }

        map.put("max", max);
        map.put("min", min);
        return map;
    }

使用stream流
//求数组中的最大值
//意思是将nums数组转化为stream流然后得到流中的最大值,最后再以int类型获取
int max = Arrays.stream(nums).max().getAsInt();
//求数组中的最小值
//意思是将nums数组转化为stream流然后得到流中的最小值,最后再以int类型获取
int min = Arrays.stream(nums).min().getAsInt();

//当然我们也可以

可以看到,我们仅仅用了两行代码就把数组中的最大值和最小值求出

求数组所有数的和

一般思路
 /*
     * 求数组的和
     * @author xiaozhu
     * @date 2022/5/8 12:33
     * @param nums
     * @return int
     */
    public static int getSum(int[] nums){
        int sum = 0;
        for(int i = 0; i < nums.length; i++){
            sum += nums[i];
        }
        return sum;
    }
使用stream流
//nums为数组
int sum = Arrays.stream(nums).sum();

一行代码求数组中的和

你可能感兴趣的:(java)