개인적으로 장단점에 관계 없이 stream API를 사용하는것을 선호하진 않는다.
우선 회사 업무 환경부터 JDK 1.6...을 사용하기 때문에 stream과 lamda식 표현이 너무 익숙하지 않고,
유지보수에 적절하지 않다고 생각하기 때문이다.
그래도 알고리즘 문제를 풀다보면 배열을 리스트로, 리스트를 배열로 바꿔야 하는 상황을 자주 마주치게 되는데, for문을 사용하여 원소를 하나씩 옮겨주는 것 보단 stream을 사용하는게 깔끔한 코드에 도움이 되는 것 같다.
> 예제 (배열을 리스트로)
import java.util.Arrays;
import java.util.stream.Collectors;
List list = Arrays.stream(yourArray).boxed().collect(Collectors.toList());
> 예제 (리스트를 배열로)
// Integer wrapper class를 사용한 list를 array로 변환
int[] intArray = yourList.stream().mapToInt(Integer::intValue).toArray();
728x90
반응형
'Algorithms > Tips' 카테고리의 다른 글
[JAVA] 나만의 Pair 객체 만들기 및 Collections Class를 사용하여 커스텀 정렬(Sort)하기 (0) | 2021.02.18 |
---|