일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JAVA 재귀함수
- 코드스테이츠
- Spring
- Spring MVC
- AOP
- 리눅스 사용권한
- mapstruct
- file i/o
- 스키마 설계
- git 설정
- 자료구조
- RestControllerAdvice
- ubuntu 패스워드
- 함수형 인터페이스
- N:N
- set-version
- custom exception
- ubuntu
- 탐욕 알고리즘
- Java
- Spring 예외처리
- http 응답코드
- REST HTTP API
- git workflow
- root passwd
- 스키마 디자인
- O(log n)
- ubuntu passwd
- char to int
- 배열 탐색
Archives
- Today
- Total
개발소설
[JAVA] 스트림(Stream) 본문
스트림(Stream)
- 배열, 컬렉션의 요소를 하나씩 참조하여 람다식으로 처리 할 수 있도록 해주는 반복자
- 컬렉션, 배열등 다양한 데이터 소스들을 스트림으로 만들어 표준화된 방법으로 다룰수 있다.
- 이러한 데이터 소스를 다루기위한 풍부한 메서드들을 제공한다.
스트림의 도입 배경
- 자바 배열과 컬렉션등의 자료구조를 통해 데이터를 효과적으로 다루기 위하여 for문과 Iterator를 활용했었다.
- 이러한 기존 방식의 문제점이 있다.
- 코드가 길고 복잡해 질수 있다.
- 데이터 소스를 각기 다른 방식으로 다뤄야 했다.
- 이러한 문제점을 해결하기 위해 스트림은 이런 방식으로 다뤄진다.
- 선언형 프로그래밍 방식으로 데이터를 처리를 보다 인긴친화적이고 직관적인 코드 작성 가능
- 데이터 소스가 무엇이냐에 관계없이 같은 방식으로 데이터를 가공/처리 가능 - 하나의 통합된 방식(표준화)
스트림의 특징
- 처리 과정은 생성, 중간 연산, 최종 연산 세 단계의 파이프라인으로 구성될 수 있다.
- 원본 데이터 소스를 변경하지 않는다.(read-only)
- 일회용이다. (ontime-only)
- 내부 반복자이다.
'자바' 카테고리의 다른 글
JVM (Java Virtual Machine) (0) | 2023.03.11 |
---|---|
[JAVA] 스레드(Thread) (0) | 2023.03.10 |
[JAVA] 파일 입출력(I/O) (0) | 2023.03.09 |
[JAVA] 람다 (Lambda) (0) | 2023.03.08 |
[JAVA] 애너테이션 (Annotation) (0) | 2023.03.08 |
Comments