nickjoIT

스트림(stream) 본문

PROGRAMING/JAVA

스트림(stream)

nickjo 2016. 3. 12. 14:06

1. 스트림이란

- 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메소드들을 정의해 논것


2. 장점

- 데이터를 추상화하였다는 것은, 데이터 소스가 무엇이던 간에 같은 방식으로 다룰 수 있게 되었다는 것과 코드의 재사용성이 높아진다는 것을 의미한다

- 배열이나 컬렉션뿐만 아니라 파일에 저장된 데이터도 모두 같은 방식으로 다룰 수 있다

- 코드가 간결하고 이해하기 쉬우면서 재사용성이 높다



3. 특징
1) 스트림은 데이터 소스를 변경하지 않는다
- 스트림은 데이터 소스로 부터 데이터를 읽기만할 뿐, 데이터 소스를 변경하지 않는다

2) 스트림은 일회용이다
- Iterator로 컬렉션의 요소를 모두 읽고 나면 다시 사용할 수 없는 것처럼, 스트림도 한번 사용하면 닫혀서 다시 사용할 수 없다
- 필요하다면 스트림을 다시 생성해야한다

3) 스트림은 작업을 내부 반복으로 처리한다
- 내부 반복이라는 것은 반복문을 메서드의 내부에 숨길 수 있다는 것을 의미

- forEach()는 스트림에 정의된 메서드 중의 하나로 매개변수에 대입된 람다식을 데이터 소스의 모든 요소에 적용한다


4. 사용 예시



[참조사이트]

- 자바의정석





'PROGRAMING > JAVA' 카테고리의 다른 글

Java - Client IP 가져오기  (0) 2018.09.12
람다식  (0) 2016.03.09
지네릭스(Generics)  (0) 2016.03.08
컬렉션 프레임워크란 무엇인가  (0) 2016.02.18
String과 StringBuffer의 차이점  (0) 2016.02.18
Comments