Posts [Java] flatMap으로 중첩 루프 없애는 방법 (How to remove nested loops using flatMap)
Post
Cancel

[Java] flatMap으로 중첩 루프 없애는 방법 (How to remove nested loops using flatMap)

Code with Nested Loops

1
2
3
4
5
6
7
8
9
List<String> symbols = Arrays.asList("스페이드", "하트", "다이아몬드", "클로버");
List<String> numbers = Arrays.asList("A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K");

List<String> cards = new ArrayList<>();
for (String symbol : symbols) {
    for (String number : numbers) {
        cards.add(symbol + number);
    }
}

Code with flatMap

1
2
3
4
5
6
7
List<String> symbols = Arrays.asList("스페이드", "하트", "다이아몬드", "클로버");
List<String> numbers = Arrays.asList("A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K");

List<String> cards = symbols.stream()
        .flatMap(symbol -> numbers.stream()
                .map(number -> symbol + number))
        .collect(toList());

Reference

  • 모던 자바 인 액션 스터디 - 검프 문제 on Mar 11
This post is licensed under CC BY 4.0 by the author.

[Java] HashMap vs LinkedHashMap

[우아한테크코스] 싱글톤 패턴은 객체지향적일까? (Is the singleton pattern object-oriented?)