반응형
일반적으로 Java에서 사용하는 반복문은 for, while이다.
실제로 좀 무지했던건 맞지만 stream forEach를 사용할 생각은 안 해봤었다.
알고리즘 문제를 풀 때 주로 index를 활용해서 문제를 풀었기 때문이다.
그래서 index를 이용해야하는 소스코드라면 for, while을 쓰는게 더 직관적이라고 생각했다.
그리고 그 생각은 변함이 없다.
예시 1.
List<String> 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.
int[] exam = {0, 1, 2, 3, 4, 5};
for(int i = 0; i < exam.length; i++) {
if(i%2==0){
System.out.println(exam[i]);
}
}
예시 1번은 굳이 for, while을 사용하지 않아도 forEach만을 이용해 작성할 수 있다
다만 위에 언급하였듯이, 예시 2번처럼 index를 사용해야만 한다면?
저는 for, while문을 활용하는 방법 외에는 없다고 생각한다.
다른 분들 생각은 어떠신가요?
제가 아직 많이 부족해서 Java에서 stream을 이용해 index를 처리하는 방법을 모를 수 있습니다.
혹시 좋은 방법이 있다면 알려주시면 감사드리겠습니다
- 퀴즈 - List 데이터에 stream을 사용하여 map, sorted API를 적용했다. 그러면 반환하는 데이터 타입은 무엇인가?
반응형
'JAVA > Stream' 카테고리의 다른 글
Java 8 Stream이란? (0) | 2021.09.04 |
---|