그저 내가 되었고

☕️Java:: forEach 람다 출력 & 메소드 참조(::) 출력 본문

개발/Java

☕️Java:: forEach 람다 출력 & 메소드 참조(::) 출력

hyuunii 2023. 10. 14. 12:54
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package com.example.Main;
 
import java.util.ArrayList;
import java.util.List;
import java.util.stream.IntStream;
 
public class Java {
    public static void main(String[] args) {
        System.out.println("🌟예제 1번🌟");
        List<String> names = new ArrayList<String>();
        names.add("Marry");
        names.add("Queen");
        names.add("Ken");
 
        System.out.println("1) --------그냥 sout 출력--------");
        for (int i = 0; i < names.size(); i++) {
            System.out.println(names.get(i));
        }
 
        System.out.println("2) -------forEach 람다 출력--------");
        names.forEach(n -> System.out.println(n));
 
        //메소드 참조(Method Reference)는 람다 표현식이 단 하나의 메소드만을 호출하는 경우, 해당 람다 표현식에서 불필요한 매개변수를 제거하고 사용할 수 있도록 해줌.
        System.out.println("3) --------메소드 참조(::) 출력--------");
        names.forEach(System.out::println);
 
 
 
        System.out.println("\n\n\n🌟예제 2번🌟");
        System.out.println("1) --------그냥 sout 출력--------");
        for (int i = 1; i< 4; i++) {
            System.out.println(i);
        }
 
        System.out.println("2) -------forEach 람다 출력--------");
        IntStream.range(14).forEach((int value) -> System.out.println(value));
 
        System.out.println("3) -------컴파일러의 추론을 통해 파라미터의 자료형을 생략--------");
        IntStream.range(14).forEach(value -> System.out.println(value));
 
        System.out.println("4) -------람다를 메서드 참조로 변경(메서드 참조를 사용)--------");
        IntStream.range(14).forEach(System.out::println);
    }
}
 
cs

 

 

실행 결과

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
31
32
33
🌟예제 1번🌟
1) --------그냥 sout 출력--------
Marry
Queen
Ken
2) -------forEach 람다 출력--------
Marry
Queen
Ken
3) --------메소드 참조(::) 출력--------
Marry
Queen
Ken
 
 
 
🌟예제 2번🌟
1) --------그냥 sout 출력--------
1
2
3
2) -------forEach 람다 출력--------
1
2
3
3) -------컴파일러의 추론을 통해 파라미터의 자료형을 생략--------
1
2
3
4) -------람다를 메서드 참조로 변경(메서드 참조를 사용)--------
1
2
3
cs