02 Lambda 표현 식

8018 단어 학습 노트
02 Lambda 표현 식
1. 개념:
    Java8      lambda   ,    lambda              ,
             ,            ,        CPU     。
    
   Lambda      【   】   【    】【    】      ;
     ,       、    、    ,               。
,                     。
   		  :       ,   Lambda                。
   			        ,Lambda     、    、    ,             。
   		  :Lambda                     。(    )
   		  :               。
    lambda      :**【 lambda                】**

eg    :         ,lambda            
public static void main(String[] args) throws Exception {
    //         :
    Comparator<String> c = new Comparator<String>() {
	    @Override
	    public int compare(String o1, String o2) {
		    return o1.length() - o2.length();
	    }
    };

    //     :   +    
    Comparator<String> d = (o1,o2)->o2.length() - o1.length();
    //Comparator d = (o1,o2)-> { return o2.length() - o1.length();};	
    TreeSet<String> set = new TreeSet<>(c);
}

2. lambda 표현 식 사용:
   **     :	() -> {}**
(){}->
 :               ,     :	**() ->    ;   **
                     ,    {}   ,  {}          ,        。
	        ,           ,     ,            !

1)    ,     :	           	()->{}			

2)    ,    :	                ()->{return  ;}   ()->  ;
	
3)     ,     :              (a)->{System.out.println(a)}

4)     ,    :	            (a)->{a++;return a;}
	   
        :      ,()     : 	a->{};

5)     ,     :				(a,b)->{a++;System.out.println(b);}

6)     ,    :		        (a,b)->{a++;return a;}

3. lambda 에서 부분 변수의 역할 범위:
	lambda         、    ,
          ,   lambda           ,            final,
                lambda         ,       。
                      
static int sum = 20;
public static void main(String[] args) {
    //int id = 10;         lambda         
   	int age = 10;
   
   	I3 i1 = (id)-> { 
   	    System.out.println(id++); 
   		System.out.println(sum);
        sum = 24;
        System.out.println(age); 
   	    //age = 20;          //   lambda           age
   							 //         age   final   ,
   							 //        
   	};
   sum = 25;
   //age = 20;
}

좋은 웹페이지 즐겨찾기