Java 8 stream - forEach()

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.

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를 적용했다. 그러면 반환하는 데이터 타입은 무엇인가?

반응형

from http://namcoding.tistory.com/14 by ccl(S) rewrite - 2021-09-09 06:27:32