일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- jvm
- IntellJ
- 스프링
- 스트림
- gradle
- 백준
- list
- 토비의 스프링 정리
- Java
- Stack
- JPA
- mysql
- thread
- 보조스트림
- OS
- MSA
- GC
- Real MySQL
- 토비의 스프링
- 이스티오
- Stream
- SpringBoot
- Collection
- Kotlin
- 쿠버네티스
- redis
- K8s
- 자바
- 자바 ORM 표준 JPA 프로그래밍
- spring
Archives
- Today
- Total
인생을 코딩하다.
[Java] stream API matching method 본문
728x90
반응형
stream API는 특정 조건을 만족하는 요소들을 얻을 수 있도록 세가지 매칭 매소드를 제공한다.
allMatch() -> 요소들이 매개값으로 주어진 조건에 맞는지 검사
/**
* 이 스트림의 어떤 요소도 제공된 술어와 일치하지 않는지 여부를 반환한다.
* 필요하지 않은 경우 모든 요소에 대한 술어를 평가할 수 없음
* 결과를 결정한다. 스트림이 비어 있으면 {@code true}이(가)
* 반환되고 술어는 평가되지 않는다.
*
* <p>이것은 <a href="package-summary.html#StreamOps"> 단락 회로 입니다.
* 터미널 운영.
*
* @api참고
* 이 방법은 의 보편적 정량화를 평가한다.
* 스트림의 요소에 대한 부정 술어(모든 x ~P(x)) 만약
* 하천은 비어 있으며, 수량화는 빈칸으로 만족한다고 함
* 및 는 항상 {@code true}이며, P(x)에 관계 없이.
*
* @param은 a <a href="package-summary.html#NonInterference">라고 전제한다.
* <a href="package-summary.html#Stateless">무상태.
* 이 스트림의 요소에 적용되는 술어
* @return {@code true} 스트림의 요소가 일치하지 않는 경우
* 제공된 술어 또는 스트림이 비어 있거나, 그렇지 않으면 {@code false}
*/
anyMatch() -> 한 개 이상의 요소가 주어진 조건에 맞는지 검사
/**
* 이 스트림의 모든 요소가 제공된 술어와 일치하는지 여부를 반환한다.
* 필요하지 않은 경우 모든 요소에 대한 술어를 평가할 수 없음
* 결과를 결정한다. 스트림이 비어 있으면 {@code true}이(가)
* 반환되고 술어는 평가되지 않는다.
*
* <p>이것은 <a href="package-summary.html#StreamOps"> 단락 회로 입니다.
* 터미널 운영.
*
* @api참고
* 이 방법은 의 보편적 정량화를 평가한다.
* 스트림의 요소(모든 x(x)에 대해) 위에 술어가 있음. 만약
* 스트림이 비어 있으며, 정량화가 <황금>이라고 한다.
* 만족하며 항상 {@code true}(P(x)에 관계 없음)
*
* @param은 a <a href="package-summary.html#NonInterference">라고 전제한다.
* <a href="package-summary.html#Stateless">무상태.
* 이 스트림의 요소에 적용되는 술어
* @return {@code true} 스트림의 모든 요소가 일치하는 경우
* 제공된 술어 또는 스트림이 비어 있거나, 그렇지 않으면 {@code false}
*/
noneMatch() -> 모든 요소들이 주어진 요소에 맞는지 검사
/**
* {@link 선택 사항 반환이 항목의 첫 번째 요소를 설명하는 Int}
* 스트림 또는 빈 {@code(옵션)스트림이 비어 있는 경우 Int} 만약
* 스트림에는 조우 순서가 없으며, 그러면 모든 요소가 반환될 수 있다.
*
* <p>이것은 <a href="package-summary.html#StreamOps"> 단락 회로 입니다.
* 터미널 운영.
*
* @return a {@code(선택 사항이 스트림의 첫 번째 요소를 설명하는 Int},
* 또는 빈 {@code({@code(옵션))스트림이 비어 있는 경우 Int}
*/
EX)
package ex1.stream;
import java.util.Arrays;
public class Stream_Api_Test {
public static void main(String[] args) {
int[] array = {2, 4, 6};
boolean result = Arrays.stream(array)
.allMatch(a -> a * 2 < 20);
System.out.println("2의 배수들이 20보다 작나? " + result);
result = Arrays.stream(array)
.anyMatch(a -> a%3 == 0);
System.out.println("3의 배수가 하나라도 있나? " + result);
result = Arrays.stream(array)
.noneMatch(a -> a%6 == 0);
System.out.println("6의 배수가 없나? " + result);
}
}
2의 배수들이 20보다 작나? true
3의 배수가 하나라도 있나? true
6의 배수가 없나? false
728x90
반응형
'Java' 카테고리의 다른 글
[Java] 디자인패턴(DesignPattern) -> 템플릿 메서드 패턴(template method pattern) (0) | 2020.11.10 |
---|---|
[Java] stream method 정리 (0) | 2020.10.18 |
[Java] 자바8 Optional 기초 (0) | 2020.10.13 |
[Java] 자바8 스트림(Stream) (2) | 2020.10.07 |
[Java] 자바8 람다식 기초 (0) | 2020.10.07 |
Comments