티스토리 뷰

List<String> list = .... // 이미 값이 들어있다.

list.stream().forEach(str->{

System.out.println(count+"번째 : " + str);

});


이라는 상황을 가정할 때 count는  어떻게 셀까.


자유변수는 변경할 수 없다.


그래서 그냥 클래스를 하나 만들어서 정적 변수를 줬다.


public class Count {

public static int COUNT;

}


이렇게 하면


List<String> list = .... // 이미 값이 들어있다.

Count.COUNT = 0;

list.stream().forEach(str->{

Count.COUNT++;

System.out.println(count+"번째 : " + str);

});


이렇게 사용할 "순" 있다.


하지만 다중스레드에서 하나의 변수를 계속 건드리는건 안전하지 않다.

다른 방법도 찾아봐야겠다.

'JAVA' 카테고리의 다른 글

6. 무한스트림 생성  (0) 2015.03.31
5. 스트림 생성  (0) 2015.03.31
4. Stream의 병렬화  (0) 2015.03.31
3. 스트림 연산  (0) 2015.03.31
2. Stream의 특징  (0) 2015.03.31
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함