본문 바로가기

Stream3

[java] Java와 Lazy evaluation - Java8 Stream 안녕하세요. 이전시간에 우리는 Lazy evaluation에 대해서 알아보는 시간을 가졌었습니다. 오늘은 이어서 Java8의 Stream의 Lazy Evaluation에 대해서 알아보는 시간을 가져보겠습니다. 우리는 이전 시간 [Java] Java와 Lazy Evaluation 포스터에서 Lazy Evaluation의 장점을 필요하지 않는 연산을 하지 않는다라고 이야기했습니다. 그리고 Stream은 Lazy Evaluation을 사용하는 대표적인 연산방식입니다. 예제 아래와 같은 로직이 있다고 해보겠습니다. 1 ~ 30까지의 숫자의 List가 있습니다. 이 숫자에서 3의 배수의 숫자만을 걸러내고 10을 곱한 값중 앞에서 3가지만 취하도록 하겠습니다. 이런 로직을 가지는 메서드를 만든다고 해보겠습니다. C.. 2021. 4. 2.
[Java 8] Java 8, Stream의 Collectors 안녕하세요. 이전 시간에 우리가 Stream에 대해서 알아봤던 것 기억하시나요? 오늘은 이어서 Collectors에 대해서 이야기 해보려고 합니다. Collectors란 "Stream을 일반적인 List, Set등으로 변경시키는 Stream 메서드"라고 입니다. 오늘은 Collectors를 통해 어떤 형태로 변경할 수 있는지에 대해서 알아보겠습니다. 오늘 수고해줄 List는 아래의 String List입니다. List givenList = Arrays.asList("a", "bb", "cc", "bb"); 그렇다면 위의 메서드를 이용하여 한번 Stream을 Collectors로 다뤄보도록 하겠습니다. toCollections toList, toSet toList collector는 모든 Stream el.. 2019. 11. 29.
[Java 8] Java 8 Stream API Tutorial 안녕하세요. 오늘은 Java 8의 기능 중 하나인 Stream에 대해서 알아보도록 하겠습니다. Stream은 배열, List등의 요소들의 처리를 담당하는 Class로써 기존의 배열처리를 간단하게 해주며, functional style로 처리할 수 있도록 해줍니다. 그리고 병렬처리 Optional 등 다양한 처리를 할 수 있도록 지원해줍니다. Stream 생성 Stream을 사용하기 위해서는 Stream을 생성할 필요가 있습니다. collection 또는 배열을 이용해서, 또는 자체적으로 생성할 수 있습니다. 아래와 같이 말이죠. // from Array String[] arr = new String[]{"a","b","c"}; Stream stream = Arrays.stream(arr); // from.. 2019. 11. 26.