Java8 Stream Step3 终止操作(一)

package com.xbb.java.stream;

import java.util.Arrays;
import java.util.List;

/**
 * 3 : 终止操作 :
 *
 *  查找与匹配
 *  allMatch  检查是否匹配所有元素
 *  anyMatch  检查是否至少匹配某一个元素
 *  noneMatch 检查是否没有匹配所有元素
 *  findFirst 返回第一个元素
 *  findAny   返回当前流中的任意元素
 *  count     返回流中元素的总个数
 *  max       返回流中最大值
 *  min       返回流中最小值
 *
 */
public class StreamDemo_Step_3 {


    public static void main(String[] args) {

        System.out.println("第三步 : 终止操作");
        endAllMatch();
        endAnyMatch();
        endNoneMatch();
        endFindFirst();
        endCount();
        endMax();
        endMin();

    }

    static List<String> strList = Arrays.asList(
            "abc",
            "bcad",
            "fdasdf",
            "gadfgg",
            "fasdf",
            "fasarqw",
            "xzcavz",
            "2a42"
    );

    /**
     * 3 : 终止操作 : AllMatch
     *
     *   查询字符串是否都包含"a"
     */
    public static void endAllMatch(){
        System.out.println("第三步 : AllMatch");
        boolean hasA = strList.stream().allMatch((str)->{
            return str.contains("a");
        });
        System.out.println(hasA);
    }

    /**
     * 3 : 终止操作 : AnyMatch
     *
     *   查询字符串是否都包含"a"
     */
    public static void endAnyMatch(){
        System.out.println("第三步 : AnyMatch");
        boolean hasA = strList.stream().anyMatch((str)->{
            return str.contains("42");
        });
        System.out.println(hasA);
    }

    /**
     * 3 : 终止操作 : NoneMatch
     *
     *   查询字符串是否都包含"a"
     */
    public static void endNoneMatch(){
        System.out.println("第三步 : NoneMatch");
        boolean hasA = strList.stream().noneMatch((str)->{
            return str.contains("42aaaa");
        });
        System.out.println(hasA);
    }

    /**
     * 3 : 终止操作 : findFirst
     */
    public static void endFindFirst(){
        System.out.println("第三步 : FindFirst");
        String firstStr = strList.stream().findFirst().get();
        System.out.println(firstStr);
    }

    /**
     * 3 : 终止操作 : count
     */
    public static void endCount(){
        System.out.println("第三步 : Count");
        Long count = strList.stream().count();
        System.out.println(count);
    }

    static List<Integer> intList = Arrays.asList(
            123,1234,51234,12341234,989
    );
    /**
     * 3 : 终止操作 : max
     */
    public static void endMax(){
        System.out.println("第三步 : Max");
        Integer maxValue = intList.stream().max(Integer::compareTo).get();
        System.out.println(maxValue);
    }
    /**
     * 3 : 终止操作 : min
     */
    public static void endMin(){
        System.out.println("第三步 : Min");
        Integer minValue = intList.stream().min((x1,x2)->{
            return Integer.compare(x1,x2);
        }).get();
        System.out.println(minValue);
        // 第二种方法 :
        minValue = intList.stream().min(Integer::compareTo).get();
        System.out.println(minValue);
    }
}

猜你喜欢

转载自blog.csdn.net/jinjianghai/article/details/92967254