자바
-
[Java] 컬렉션 프레임워크 - IntroCSE/Java 2015. 9. 11. 11:52
컬렉션 프레임 워크는 여러 절로 구성되어 있습니다. IntroList 컬렉션Set 컬렉션Map 컬렉션검색 기능을 강화시킨 컬렉션LIFO와 FIFO 컬렉션동기화 & 병렬처리를 위한 컬렉션 1. 컬렉션 프레임워크 소개 애플리케이션을 개발하다 보면 다수의 객체를 저장해 두고 필요할 때마다 꺼내서 사용하는 경우가 많습니다. 만약 10개의 Product 객체를 저장해 두고, 필요할 때마다 하나씩 꺼내서 이용한다고 가정해봅시다. 어떻게 Product 객체를 효율적으로 추가, 검색, 삭제할지 고민해야 되는데, 가장 간단한 방법은 배열을 사용하는 것입니다. 1234567891011Product[] array = new Product[10]; array[0] = new Product("Model1");array[1] =..
-
[Java] 스트림과 병렬 처리 - 수집, 병렬 처리CSE/Java 2015. 9. 10. 18:07
스트림과 병렬 처리는 여러 절로 구성되어 있습니다. [Java] 스트림과 병렬 처리 - 스트림[Java] 스트림과 병렬 처리 - 파이프라인[Java] 스트림과 병렬처리 - 필터링, 매핑, 정렬[Java] 스트림과 병렬 처리 - 루핑, 매칭, 집계[Java] 스트림과 병렬 처리 - 수집, 병렬 처리 11. 수집(collect()) 스트림은 요소들을 필터링 또는 매핑한 후 요소들을 수집하는 최종 처리 메소드인 collect()를 제공하고 있습니다. 이 메소드를 이용하면 필요한 요소만 켈렉션으로 담을 수 있고, 요소들을 그룹핑 한 후 집계(리덕션) 할 수 있습니다. 11. 1 필터링한 요소 수집 Stream의 collect(Collector collector) 메소드는 필터링 또는 매핑된 요소들을 새로운 컬렉..
-
[Java] 스트림과 병렬 처리 - 루핑, 매칭, 집계CSE/Java 2015. 9. 10. 15:18
스트림과 병렬 처리는 여러 절로 구성되어 있습니다. [Java] 스트림과 병렬 처리 - 스트림[Java] 스트림과 병렬 처리 - 파이프라인[Java] 스트림과 병렬처리 - 필터링, 매핑, 정렬[Java] 스트림과 병렬 처리 - 루핑, 매칭, 집계[Java] 스트림과 병렬 처리 - 수집, 병렬 처리 7. 루핑(peek(), forEach()) 루핑(looping)은 요소 전체를 반복하는 것을 말합니다. 루핑하는 메소드에는 peek(), forEach()가 있습니다. 이 두 메소드는 루핑한다는 기능에서는 동일하지만, 동작 방식은 다릅니다. peek() 는 중간 처리 메소드이고, forEach()는 최종 처리 메소드 입니다. peek() 메소드는 중간 처리 단계에서 전체 요소를 루핑하면서 추가적인 작업을 하기..
-
[Java] 스트림과 병렬처리 - 필터링, 매핑, 정렬CSE/Java 2015. 9. 9. 15:14
스트림과 병렬 처리는 여러 절로 구성되어 있습니다. [Java] 스트림과 병렬 처리 - 스트림[Java] 스트림과 병렬 처리 - 파이프라인[Java] 스트림과 병렬처리 - 필터링, 매핑, 정렬[Java] 스트림과 병렬 처리 - 루핑, 매칭, 집계[Java] 스트림과 병렬 처리 - 수집, 병렬 처리 4. 필터링(distinct(), filter()) 필터링은 중간 처리 기능으로 요소를 걸러내는 역할을 합니다. 필터링 메소드인 distinct()와 filter() 메소드는 모든 스트림이 가지고 있는 공통 메소드 입니다. 리턴 타입 메소드(파라미터) 설명 Stream IntStream LongStream DoubleStream distinct() 중복 제거 filter(Predicate) 조건 필터링 filt..
-
[Java] 스트림과 병렬 처리 - 파이프라인CSE/Java 2015. 9. 9. 13:20
스트림과 병렬 처리는 여러 절로 구성되어 있습니다. [Java] 스트림과 병렬 처리 - 스트림[Java] 스트림과 병렬 처리 - 파이프라인[Java] 스트림과 병렬처리 - 필터링, 매핑, 정렬[Java] 스트림과 병렬 처리 - 루핑, 매칭, 집계[Java] 스트림과 병렬 처리 - 수집, 병렬 처리 2. 스트림의 종류 자바 8부터 추가된 java.util.stream 패키지에는 스트림(stream) API 들이 포진하고 있습니다. 패키지 내용을 보면 BaseStream 인터페이스를 부모로 해서 자식 인터페이스들이 상속 관계를 이루고 있습니다. BaseStream 인터페이스에는 모든 스트림에서 사용할 수 있는 공통 메소드들이 정의되어 있을 뿐 코드에서 직접적으로 사용되지 않습니다. 하위 스트림인 Stream..
-
[Java] 스트림과 병렬 처리 - 스트림CSE/Java 2015. 9. 8. 18:04
스트림과 병렬 처리는 여러 절로 구성되어 있습니다. [Java] 스트림과 병렬 처리 - 스트림[Java] 스트림과 병렬 처리 - 파이프라인[Java] 스트림과 병렬처리 - 필터링, 매핑, 정렬[Java] 스트림과 병렬 처리 - 루핑, 매칭, 집계[Java] 스트림과 병렬 처리 - 수집, 병렬 처리 1. 스트림 소개 스트림(Stream)은 자바 8부터 추가된 컬렉션(배열 포함)의 저장 요소를 하나씩 참조해서 람다식(functional-style)으로 처리할 수 있도록 해주는 반복자입니다. 1.1 반복자 스트림 자바 7 이전까지는 List 컬렉션에서 요소를 순차적으로 처리하기 위해 Iterator 반복자를 다음과 같이 사용해왔습니다. 12345678List list = Arrays.asList("John",..
-
[Java] NIO 기반 입출력 및 네트워킹 - UDP 채널CSE/Java 2015. 9. 6. 14:26
NIO 기반 입출력 및 네트워킹은 여러 절로 구성되어 있습니다. [Java] NIO 기반 입출력 및 네트워킹 - NIO, 파일 & 디렉토리[Java] NIO 기반 입출력 및 네트워킹 - 버퍼(Buffer)[Java] NIO 기반 입출력 및 네트워킹 - 파일 채널[Java] NIO 기반 입출력 및 네트워킹 - 파일 비동기 채널[Java] NIO 기반 입출력 및 네트워킹 - TCP 블로킹 채널[Java] NIO 기반 입출력 및 네트워킹 - TCP 넌블로킹 채널[Java] NIO 기반 입출력 및 네트워킹 - UDP 채널 8. UDP 채널 NIO에서 UDP 채널은 DatagramChannel 입니다. DatagramChannel도 TCP 채널과 마찬가지로 블로킹과 넌블로킹 방식으로 사용할 수 있지만, 이번 절에..
-
[Java] NIO 기반 입출력 및 네트워킹 - TCP 넌블로킹 채널CSE/Java 2015. 9. 6. 13:53
NIO 기반 입출력 및 네트워킹은 여러 절로 구성되어 있습니다. [Java] NIO 기반 입출력 및 네트워킹 - NIO, 파일 & 디렉토리[Java] NIO 기반 입출력 및 네트워킹 - 버퍼(Buffer)[Java] NIO 기반 입출력 및 네트워킹 - 파일 채널[Java] NIO 기반 입출력 및 네트워킹 - 파일 비동기 채널[Java] NIO 기반 입출력 및 네트워킹 - TCP 블로킹 채널[Java] NIO 기반 입출력 및 네트워킹 - TCP 넌블로킹 채널[Java] NIO 기반 입출력 및 네트워킹 - UDP 채널 7. TCP 넌블로킹 채널 ServerSocketChannel, SocketChannel은 블로킹(Blocking) 방식도 지원하지만 넌블로킹(non-blocking) 방식도 지원합니다. 이번..