jdk 1.8 lambda 표현 식 입문

2368 단어 JDK
일이 지 날수 록 모든 것 을 스스로 쓰 는 것 이 힘 들 다 는 것 을 알 게 되 었 습 니 다.이때 부터 게 으 름 을 피 우려 고 인터넷 에서 여러 가지 도 구 를 찾 았 습 니 다.그러나 자바 에서 기본 적 인 판단 순환 은 가장 흔히 볼 수 있 는 것 입 니 다.오늘 우연히 개원 프로젝트 가 많이 사용 하 는 lambda 표현 식 을 발견 하여 마음 을 가 라 앉 히 고 연구 해 보 았 습 니 다.
lamdba 표현 식,()->{};   매개 변수 가 없 으 면()에 쓰 지 않 고 매개 변 수 를 쓸 수 있 으 며 매개 변수 유형 을 쓰 지 않 아 도 됩 니 다.이 매개 변 수 는 final 등 수정자 에 의 해 수식 되 어야 할 경우 매개 변수 유형 을 추가 해 야 합 니 다.
 
//    lambda          (functional operation)  
players.forEach((player) -> System.out.print(player + "; "));  
   
//   Java 8          (double colon operator)  
players.forEach(System.out::println);  

lambda 흔 한 인터페이스:
Predicate 인터페이스
매개 변 수 를 입력 하고 되 돌려 줍 니 다.  Boolean 값 에는 논리 적 판단 에 사용 되 는 기본 방법 이 많이 내장 되 어 있 습 니 다.
Predicate predicate = (s) -> s.length() > 0;
boolean test = predicate.test("test");

위의 조건 을 만족 시 키 는 지 판단 하고 true 로 돌아 가 는 것 을 만족 시 키 지 않 으 며 false 로 돌아 가 는 것 을 만족 시 키 지 않 습 니 다.
Predicate pre = Objects::nonNull;

대상 이 비어 있 는 지,비어 있 지 않 은 지 true 로 돌아 가 거나,그렇지 않 으 면 false 로 돌아 갑 니 다.
기능 인터페이스
하나의 인 자 를 받 고 단일 한 결 과 를 되 돌려 줍 니 다.기본 적 인 방법(andThen)은 여러 함 수 를 한데 묶 어 복합 Funtion(입력,출력)을 만 들 수 있 습 니 다.  결국
Function name = e -> e * 2;
Function square = e -> e * e;
int value = name.andThen(square).apply(3);
compose 와 and Then 의 차이 점 은 함수 가 실행 하 는 순서 가 다르다 는 것 이다.compose 함 수 는 먼저 파 라 메 터 를 실행 한 다음 호출 자 를 실행 하고 and Then 은 호출 자 를 먼저 실행 한 다음 에 파 라 메 터 를 실행 합 니 다.그래서 설명 andThen  name 을 먼저 실행 한 후 square 를 실행 합 니 다.
 
공급 업 체 인터페이스
주어진 형식의 결 과 를 되 돌려 줍 니 다.Function 과 달리 Supplier 는 인 자 를 받 아들 일 필요 가 없습니다.(공급 자,출력 이 있 고 입력 이 없 음)
Supplier supplier = () -> "special type value";
String s = supplier.get();
System.out.println(s);

소비자 인터페이스
단일 한 입력 매개 변수 에서 해 야 할 작업 을 대표 합 니 다.Function 과 달리 Consumer 는 반환 값 이 없습니다(소비자,입력,출력 없 음)
Consumer add5 = (p) -> {
    System.out.println("old value:" + p);
    p = p + 5;
    System.out.println("new value:" + p);
};
add5.accept(10);

Stream 의 사용 과정 에는 고정된 패턴 이 있 습 니 다.
스 트림 생 성
  • 중간 조작 을 통 해 원시 스 트림 에 대해'변화'를 하고 새로운 스 트림 을 생 성 한다
  • 완결 조작 을 사용 하여 최종 결 과 를 생 성 합 니 다.  바로

    좋은 웹페이지 즐겨찾기