스트림 8

자바 객체 입출력 보조 스트림 - ObjectInputStream , ObjectOutputStream

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 객체 입출력 보조 스트림 :자바는 메모리에 생성된 객체를 파일이나 네트워크로 출력이 가능합니다. => 객체는 문자가 아니기 때문에 바이트 기반 스트림으로 출력해야합니다.객체 직렬화 : 객체를 출력하기 위해 객체의 데이터를 일렬로 늘어선 연속적인 바이트로 변경하는 것을 말합니다.객체 역직렬화 : 파일에 저장되어 있거나 네트워크에서 전송된 객체를 읽을 수 있는데,입력 스트림으로부터 읽어 들인 연속적인 바이트를 객체로 복원하는 것을 말합니다. ObjectInputStream / ObjectOutputStream : 객체를 입력 또는 ..

자바 2017.04.10

자바 스트림 Java Stream => 기본 집계 ( sum(), count(), average(), max(), min() ) / 커스텀 집계 ( reduce() )

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 집계란 : 최종 처리 기능으로써 요소들을 처리해 합계, 평균 값 같이 하나의 값으로 산출하는 것입니다.=> 많은 양의 데이터를 가공해 출소하는 리덕션이라고 볼 수 있습니다. 스트림은 기본 집계 메소드를 제공합니다. OptionalXXX 의 종류는 Optional, OptionalInt, OptionalLong, OptionalDouble 타입이 있고,값을 저장하는 값 기반 클래스들입니다.이 겍체에서 값을 얻으려면 get(), getAsDouble(), getAsInt, getAsLong()를 호출하면 됩니다.예제) import ..

자바 2017.03.31

자바 스트림 Java Stream => 루핑 (peek(), forEach()) / 매칭( allMatch(), anyMatch(), noneMatch() )

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 요소 전체를 반복하는 것을 루핑이라고 합니다.메소드로는 peek() 와 forEach()가 있는데위 두 메소드는 기능은 같지만 동작 방식이 다릅니다. peek() 는 중간 처리 단계에서 전체 요소를 루핑하고, 추가적 작업을 위해 사용하며,최종 처리 메소드가 호출돼야만 동작합니다.예) 필터링 후에 어떤 요소가 남았는지 확인할 때 사용 때intStream .filter( a -> a % 3 ==0 ) .peek(a -> System.out.println( a) ) .sum();peek() 메소드가 가장 마지막에 호출된다면 해당 스트..

자바 2017.03.31

자바 스트림 Java Stream => 매핑( flatMapXXX(), mapXXX() , asXXXStream(), boxed()) / 정렬(sorted())

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 매핑메소드들 :flatMapXXX()asXXXStream()boxed()매핑 : 중간 처리의 기능으로써 스트림의 요소들을 다른 요소로 대체하는 작업을 말합니다.스트림에서 제공하는 매핑 메소드로는 flatMapXXX(), mapXXX(), asDoubleStream(),asLongStream(), boxed()가 있습니다. 1. flatMapXXX(): 요소를 대체하는 복수 개의 요소들로 구성된 새로운 스트림을 리턴합니다.스트림에서 A라는 요소가 A1 과 A2로 대체되고, B라는 요소가 B1 과 B2로 대체된다고 할 때새로운 스트..

자바 2017.03.30

자바 스트림 Java Stream -> 스트림 파이프 라인과 필터링 (distinct(), filter())

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 2017/03/30 - [자바] - 자바 스트림 Java Stream => 스트림의 종류 리덕션 => 대량의 데이터를 가공해서 축소하는 것을 일반적으로 일컫는 말.리덕션의 결과물로는데이터의 합계, 평균 값, 카운팅, 최댓값, 최솟값 등이 있습니다.컬렉션의 요소를 리덕션의 결과물로 바로 집계할 수 없는 경우에집계하기 좋도록 필터링, 매핑, 정렬, 그룹핑등의 중간처리가 필요합니다. 스트림에서는 중간 처리와 최종 처리를 파이프 라인으로 해결하는데요.여러 개의 스트림이 연결되어 있는 구조를 파이프 라인이라고 합니다.파이프 라인에서 최종..

자바 2017.03.30

자바 스트림 Java Stream => 스트림의 종류

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 스트림의 특징 2017/03/30 - [자바] - 자바 스트림 Java Stream => 스트림의 특징 java.util.Stream 패키지에 스트림 API 들이 있습니다.BaseStream을 부모로 하여 자식 인터페이스들이 상속 관계를 이루고 있습니다. BaseStream에는 공통적으로 사용되는 메소드들이 정의만 되어있고 직접 사용되지는 않습니다.하위 스트림인 Stream, IntStream, DoubleStream, LongStream이 직접적으로 이용됩니다.Stream은 객체 요소를 처리하는 스트림이고,나머지 스트림들은 가..

자바 2017.03.30

자바 스트림 Java Stream => 스트림의 특징

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 스트림이란?2017/03/27 - [자바] - 자바 스트림 Java Stream - 스트림이란?, 반복자 스트림 이번 포스팅에서는 스트림의 특징에 대해 공부하겠습니다. Stream은 Iterator와 비슷한 역할을 하는 반복자인데요.람다식으로 요소 처리 코드를 제공한다는 점과 내부 반복자를 사용하기 때문에병렬 처리가 쉽다는 점, 중간 처리와 최종 처리 작업을 수행하는 점에서많은 차이를 가지고 있습니다. 특징 1 -> 람다식으로 요소 처리 코드를 제공한다.=> 스트림이 제공하는 대부분의 요소 처리 메소드들은 함수적 인터페이스 매개..

자바 2017.03.30

자바 스트림 Java Stream - 스트림이란?, 반복자 스트림

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅부터는 자바 스트림에 대해 공부하겠습니다. 스트림 =>컬렉션(배열)의 저장 요소를 하나씩 참조하여 람다식으로 처리할 수 있도록 해주는 반복자입니다.람다식이 궁금하시다면?2017/03/19 - [자바] - 자바 람다식 java 기본 문법과 함수적 인터페이스 반복자 스트림 =>자바 7 버전 이전까지는 List 컬렉션의 요소를 순차적으로 처리하려면Iterator 반복자를 사용하였습니다.ex)List list = new ArrayList();list.add(1);list.add(20);list.add(10);Iterator ..

자바 2017.03.27