java1.8 新特性(關於 match,find reduce )操作


  1.       match處理Integer集合

    package lambda.stream;
    /**    
    * @author 作者:cb   
    * @version 創建時間:2019年1月4日 下午2:35:05 
             
    */
    
    import java.util.Arrays;
    import java.util.List;
    import java.util.stream.Collectors;
    import java.util.stream.Stream;
    
    public class StreamDemo {
        public static void main(String[] args) {
            testMatch();
        }
    
        public static void testMatch() {
            List<Integer> asList = Arrays.asList(1, 2, 3);
            // 必須滿足任何一個元素 都 小於5 才返回true 有一個元素大於5 都會返回false
            boolean allMatch = asList.stream().allMatch(i -> i < 5);
            System.out.println(allMatch);
            List<Integer> asList1 = Arrays.asList(8, 9, 10);
            // 必須滿足任何一個元素 都不能 小於5 才返回true 有一個元素小於5 都會返回false
            boolean noneMatch = asList1.stream().noneMatch(i -> i < 5);
            System.out.println(noneMatch);
            List<Integer> asList2 = Arrays.asList(8, 9, 3);
            // 只要有任何一個元素 小於 5 都返回true
            boolean anyMatch = asList2.stream().anyMatch(i -> i < 5);
            System.out.println(anyMatch);
    
        }

     結果:

    true
    true
    true

     

  2. find 
    package lambda.stream;
    /**    
    * @author 作者:cb   
    * @version 創建時間:2019年1月4日 下午2:35:05 
             
    */
    
    import java.util.Arrays;
    import java.util.List;
    import java.util.stream.Collectors;
    import java.util.stream.Stream;
    
    public class StreamDemo {
        public static void main(String[] args) {
            testFind();
        }
    
        public static void testFind() {
            List<Integer> asList = Arrays.asList(5, 2, 3);
            // 從該list中獲取第一個元素
            Integer num = asList.stream().findFirst().get();
            System.out.println(num);
            Integer anyNum = asList.stream().findAny().get();
            System.out.println(anyNum);
        }

    結果:

    5
    5

     

  3. reduce 實現一個集合的累加

    package lambda.stream;
    /**    
    * @author 作者:cb   
    * @version 創建時間:2019年1月4日 下午2:35:05 
             
    */
    
    import java.util.Arrays;
    import java.util.List;
    import java.util.stream.Collectors;
    import java.util.stream.Stream;
    
    public class StreamDemo {
        public static void main(String[] args) {
            testReduce();
        }
    
        public static void testReduce() {
            List<Integer> asList = Arrays.asList(5, 2, 3);
            // 實現該集合的累加
            Integer reduce = asList.stream().reduce(0, (i, j) -> i + j);
            System.out.println(reduce);
            // 實現該集合的乘積
            Integer reduce1 = asList.stream().reduce(1, (i, j) -> i * j);
            System.out.println(reduce1);
    
        }

    結果:

    10
    30

     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM