java8 새로운 기능의 Lambda 표현식

7497 단어 Java 기반
프로그래밍 습관이 바뀌고 싶지 않기 때문에 많은 문법에서 Lambda 표현식을 사용하지 않고 전통적인 인코딩 스타일을 사용하지만 최근에 동료의 코드를 읽은 결과 Lambad라는 함수식 프로그래밍은 보편적으로 사용되는 것 같아서 블로그를 한 편 써서 기록해 두었다.

1. Lambda 표현식


이것은java8의 중요한 새로운 특성으로 함수식 프로그래밍을 숭배하여 코드의 작성량을 크게 줄일 수 있다.함수를 매개 변수로 전달할 수 있다.
기본 구문:
//        1  ,       。         ,     
(  )->{      }


1.1 컬렉션 반복


전통적인 방식에서 우리가 두루 돌아다닐 때는foreach로 순환한다.java8

   List<String> list = Arrays.asList("A","B","C","D");
        for (String s : list) {
            System.out.println(s);
        }

그런데 lambda 표현식이 생기면java8

List<String> list = Arrays.asList("A","B","C","D");[      ](https://blog.csdn.net/weixin_43732955/article/details/95309570)
list.forEach(s-> System.out.println(s));


아니면 출력을 실행할 때 우리는 이 문법을 사용할 수 있다.짝퉁 글씨 쓰는 거 함수 같지 않아요?이런 문법을 사용하면 형삼도 생략할 수 있다.

  ::   


list.forEach( System.out::println );


1.2 익명 내부 클래스


익명 클래스가 무엇인지에 대해서는 익명 내부 클래스와 분류를 참조할 수 있다. 예를 들어 우리가 집합 원소의 정렬을 비교할 때 비교기Comparator를 실례화해야 한다.코드는 다음과 같다.
        list.sort(new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return o1.compareTo(o2);
            }
        });

위의 쓰기 방법은java8 이전에 우리가 익명 내부 클래스를 만드는 방식이지만lambad 표현식이 생기면 코드는 간단해진다.
list.sort((o1,o2)->{return o1.compareTo(o2);});
 
//                          ,       
list.sort((o1,o2)->o1.compareTo(o2));

구조 비교기는 Comparator를 사용할 수 있습니다.comparing () 방법
소결
본고는 lambda 표현식의 몇 가지 기본적인 용법을 소개하였다.자바8의 새로운 특성에서stream 흐름으로 데이터 처리를 하는 기능도 매우 강력하다. 그리고 lambda와 결합하여 사용하면 논리 집합 데이터를 처리하는 데 상당히 편리해진다.

좋은 웹페이지 즐겨찾기