일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 2018 KAKAO BLIND RECRUITMENT 1차
- 2020 KAKAO BLIND RECRUITMENT
- 삼성 SW 기출문제
- 프로그래머스
- c++
- 2019 카카오 개발자 겨울 인턴십 코딩테스트
- 부스트코스
- 삼성 SW 역량테스트
- 2019 KAKAO BLIND RECRUITMENT
- bfs
- 백준
- Java
- CS 스터디
- 2018 카카오
- 카카오
- 알고리즘
- 자바
- 2018 카카오 공채
- 비트마스크
- 2018 KAKAO BLIND RECRUITMENT
- 2020 카카오 공채
- gradle
- Baekjoon
- set
- 젠킨스
- map
- gcp
- 카카오 공채
- dfs
- 2019 카카오 공채
Archives
- Today
- Total
아무코딩
[자바] Stream 본문
Stream
데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소
JAVA8에서의 변경 사항
- 람다표현식(lambda expression) : 함수형 프로그래밍
- 스트림 API(Stream API) : 데이터의 추상화
- Java.time 패키지 : Joda-Time을 이용한 새로운 날짜와 시간 API
- 나즈혼(Nashorn) : 자바스크립트의 새로운 엔진.
이중 스트림 API 에 대해 자세히 다루어 보겠습니다.
Stream API
Stream API 이전
- 자바에서 많은 양의 데이터를 저장하기 위해서는 배열이나 컬렉션을 사용.
- 이러한 데이터를 접근하기 위해서는 반복문이나 반복자(iterator)를 사용하여 매번 코드를 작성.
- 이러한 코드들은 길고 가독성이 떨어지고 코드의 재사용이 불가능.
Stream API
- 데이터를 추상화 하여 다룬다. 다양한 방식으로 저장된 데이터를 읽고 쓰기 위한 공통된 방법을 제공한다.
- 배열이나 컬렉션 뿐만 아니라 파일에 저장된 데이터도 모두 같은 방법으로 다룰 수 있다.
Stream
- Array, Collections 와 같이 연속된 형태의 객체이다.
- 자료구조는 아니다.
- 입력받은 원래의 자료구조는 바꾸지 못한다.
- 대신, 파이프라인 형태로 연결된 메소드의 결과를 제공한다.
- 최종 연산자(terminal operatoin)는 stream의 끝을 의미하며 모든 연산자를 수행한 결과를 반환한다.
int result = list.stream()
.filter(...)
.map(...)
.count();
Create Operation
Summary
- Stream 은 java 8 부터 사용이 가능한 API이다.
- 반복문으로 사용하는 코드 대신 사용한다.
- 데이터를 추상화 하여 다룬다. 다양한 방식으로 저장된 데이터를 읽고 쓰기 위한 공통된 방법을 제공한다.
Reference
'CS > 자바' 카테고리의 다른 글
[자바]익명클래스 (Anonymous Class) (0) | 2020.05.24 |
---|---|
컬렉션 프레임워크 (0) | 2020.04.23 |
[자바] OOP (0) | 2020.04.18 |
[자바] JVM (0) | 2020.04.18 |
[자바] 가비지 컬렉터 (0) | 2020.04.18 |
Comments