JAVA/Stream

Java 8 stream - forEach()

devNam 2021. 9. 8. 19:09
반응형

일반적으로 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