반응형

Java Stream 2

Java 8 stream - forEach()

일반적으로 Java에서 사용하는 반복문은 for, while이다. 실제로 좀 무지했던건 맞지만 stream forEach를 사용할 생각은 안 해봤었다. 알고리즘 문제를 풀 때 주로 index를 활용해서 문제를 풀었기 때문이다. 그래서 index를 이용해야하는 소스코드라면 for, while을 쓰는게 더 직관적이라고 생각했다. 그리고 그 생각은 변함이 없다. 예시 1. List temp = Arrays.asList("hello", "world", "nice", "meet", "you"); temp.stream().forEach(System.out::println); for(int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } 예시 2...

JAVA/Stream 2021.09.08

Java 8 Stream이란?

이 카테고리를 따로 생성하게 된 이유는 Stream에서 사용되는 메서드들을 다루기 위함이다 1. Stream 이란? - 컬렉션(배열 포함)의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자이다 2. Stream의 특징? 2.1 람다식으로 요소처리 코드를 제공한다 2.2 내부 반복자를 사용하므로 병렬 처리가 쉽다 - 내부 반복자 : 컬렉션 내부에서 요소들을 반복시키고, 개발자는 요소당 처리해야할 코드만 제공하는 코드 패턴 -> 개발자는 요소 처리 코드에만 집중 할 수 있다는 장점이 있다 -> 컬렉션의 parallelStream() API를 사용하면 요소들을 분배시켜 병렬 작업이 가능하다 - 외부 반복자 : 개발자가 코드로 직접 컬렉션의 요소를 반복해서 처리하는 코드 패턴 ex) fo..

JAVA/Stream 2021.09.04
반응형