Javaμ Stream APIμμ μ¬μ©λλ map λ©μλμ λ©μλ μ°Έμ‘°(method references)
map λ©μλμ λ©μλ μ°Έμ‘°
μ΄ κ²μ μ°λ λ°©μμλ λ κ°μ§ λ°©μμ΄ μλλ°
νλλ λ©μλλ₯Ό μ°Έμ‘°νλ κ²μ΄κ³ , λ λ€λ₯Έ νλλ μμ±μλ₯Ό μ°Έμ‘°νλ κ²μ΄λ€.
1. μμ±μλ₯Ό μ°Έμ‘°νλ λ°©μ
List<ArticleResponse> articles = blogService.findAll()
.stream()
.map(ArticleResponse::new)
.toList();
μ΄λ κ² νλ©΄ ArticleResponse ν΄λμ€μ μμ±μμ blogServie.findAll()λ‘ μ°Ύμ κ°λ€ κ°κ°μ νλΌλ―Έν° κ°μΌλ‘ λ£μ΄ ArticleResponse νμ μΌλ‘ λ³νν λ€ toList()λ₯Ό ν΅ν΄ Listλ₯Ό λ§λ€μ΄μ€λ€.
*μ΄λ μ€λ²λ‘λλ‘ μ¬λ¬ μμ±μκ° μλ€λ©΄ ArticleResponse::newλ μ€νΈλ¦Όμ ν΅ν΄ μ λ¬λλ κ° μμμ νμ κ³Ό μΌμΉνλ μμ±μλ₯Ό μ°Ύμ νΈμΆν©λλ€.
.map(article -> new ArticleResponse(article))
2. λ©μλλ₯Ό μ°Έμ‘°νλ λ°©μ
List<String> numbers = Arrays.asList("1", "2", "3");
List<Integer> intNumbers = numbers.stream()
.map(Integer::parseInt) // Stringμ Integerλ‘ λ³ν
.collect(Collectors.toList());
numbers Listμ κ°κ° μ±λΆμ Integer ν΄λμ€μ μλ parseInt λ©μλ μ¬μ©νμ¬ λ³ν νλ€. κ·Έ λ€μ
.collect(Collector.toList()) λ‘ λ³νν νμ μ 리μ€νΈλ‘ λ§λ€μ΄ μ€λ€.
*.collect(Collector.toList()) --> νμ¬λ stream()μ΄ toList() λ©μλλ μ¬μ©ν μ μλ€. λ°λΌμ κ·Έλ₯ μμ μ½λμ²λΌ toList() λ§ μ¨λ λλ€.