- 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
- 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
- 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