<aside> 📌 forEach메소드로 로직 돌리는법
</aside>
forEach()
메소드를 사용할 수 있다. forEach()
메소드는 스트림의 각 요소에 대해 주어진 작업을 수행한다.import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 외부에서 값을 받아 리스트를 생성합니다.
List<String> list = Arrays.asList("name", "Java", "Python", "name", "JavaScript");
// 스트림을 생성하고, "name"과 일치하는 요소에 대해 서비스 로직을 실행합니다.
list.stream()
.filter("name"::equals)
.forEach(element -> {
// 여기에 서비스 로직을 작성합니다.
// 예를 들어, 데이터를 저장하는 로직을 작성할 수 있습니다.
System.out.println("Saving: " + element);
// save(element);
});
}
}
forEach(element -> { ... })
**는 스트림의 각 요소에 대해 주어진 람다 표현식을 실행한다. 람다 표현식 내부에는 서비스 로직을 작성할 수 있다. 예를 들어, 데이터를 저장하는 로직을 작성할 수 있다. 이 예제에서는 간단히 요소를 출력하는 로직을 작성했다. 실제 코드에서는 이 부분을 필요한 서비스 로직으로 대체해야 한다.<aside> 📌 filter().map().forEach()로 로직 실행하는 방법
</aside>
filter()
메소드로 필터링한 후 map()
메소드를 사용하여 각 요소를 변환할 수 있다. 그런 다음 forEach()
메소드를 사용하여 변환된 각 요소에 대해 로직을 실행할 수 있다.import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 외부에서 값을 받아 리스트를 생성합니다.
List<String> list = Arrays.asList("name", "Java", "Python", "name", "JavaScript");
// 스트림을 생성하고, "name"과 일치하는 요소를 대문자로 변환하고, 변환된 각 요소에 대해 서비스 로직을 실행합니다.
list.stream()
.filter("name"::equals)
.map(String::toUpperCase)
.forEach(element -> {
// 여기에 서비스 로직을 작성합니다.
// 예를 들어, 데이터를 저장하는 로직을 작성할 수 있습니다.
System.out.println("Saving: " + element);
// save(element);
});
}
}
map(String::toUpperCase)
**는 스트림의 각 요소를 대문자로 변환한다. 그런 다음 **forEach(element -> { ... })
**는 변환된 각 요소에 대해 주어진 람다 표현식을 실행한다. 람다 표현식 내부에는 서비스 로직을 작성할 수 있다. 이 예제에서는 간단히 요소를 출력하는 로직을 작성했다. 실제 코드에서는 이 부분을 필요한 서비스 로직으로 대체해야 한다.