일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- two pointers
- bit manipulation
- database
- Matrix
- java
- implement
- simulation
- Class
- geometry
- Binary Search
- 코테
- array
- Method
- sorting
- Stack
- Counting
- Data Structure
- Math
- 코딩테스트
- hash table
- SQL
- 자바
- 구현
- Tree
- 파이썬
- dynamic programming
- string
- Binary Tree
- Number Theory
- greedy
- Today
- Total
목록Stream (5)
코린이의 소소한 공부노트

[collect()] 1. Collector 인터페이스를 매개변수로 하는 스트림의 최종연산 2. reduce()는 전체에 대해 리듀싱, collect()는 그룹별로 리듀싱 // 스트림의 요소를 수집. 요소를 그룹화/분할한 결과를 컬렉션에 담아서 반환. 최종 연산의 핵심2 R collect(Collector collector) // Collector를 구현한 클래스의 객체를 매개변수로 R collect(Supplier supplier, BiConsumer accumulator, BiConsumer combiner) // 잘 안씀 [Collector] 1. 수집(collect)에 필요한 메서드를 정의해 놓은 인터페이스 2. collect()의 매개변수를 5개를 쓰려니 너무 많아서 인터페이스로 묶어둔 것이다...

[최종 연산이란?] 1. 연산 결과가 스트림이 아닌 연산 2. 스트림의 요소를 소모하므로 단 한 번만 적용이 가능하다. [최종 연산 종류] 1. 스트림의 모든 요소에 지정된 작업을 수행 – forEach( ), forEachOrdered( ) // 스트림 요소에 작업 수행(스트림을 소비O) void forEach(Consumer

[중간 연산이란?] 1. 연산 결과가 스트림인 연산 2. 반복적으로 적용이 가능하다. [중간 연산 종류] 1. 스트림 자르기: skip(), llimit() // 앞에서부터 n개 건너뛰기 Stream skip(long n) // maxSize 이후의 요소는 잘라냄 Stream limit(long maxSize) // 예시 IntStream intStream = IntStream.rangeClosed(1, 10); // 12345678910 intStream.skip(3).limit(5).forEach(System.out::print); // 45678 (3개 건너뛰고, 5개 자름) 2. 스트림의 요소 걸러내기: filter(), distinct() // 조건에 맞지 않는 요소 제거 Stream filte..

1. 컬렉션으로부터 스트림 생성하기 // Coolection 인터페이스의 메서드 Stream stream() List list = Arrays.asList(1,2,3,4,5); Stream intStream = list.stream(); // List를 스트림으로 변환 // 스트림의 모든 요소 출력 intStream.forEach(System.out::print);; // 12345 intStream.forEach(System.out::print);; // 에러. 이미 스트림이 닫혔다. // intStream = list.stream(); 을 이용해 다시 만든 후 // forEach()를 사용하면 된다. 2. 배열로부터 스트림 생성하기 // 1) 객체 배열로 스트림 만들기 Stream strStream ..

[스트림의 정의] 1. 스트림은 다양한 데이터 소스(컬렉션, 배열)를 표준화된 방법으로 다루기 위한 것이다. - 컬렉션 프레임워크의 경우, List와 Set을 다루는 방법과 Map을 다루는 방법이 달라 완전히 표준화되었다고 말하긴 어렵다. - 하지만 데이터 소스를 스트림으로 만들고 나면, 다루는 방법은 똑같다. 2. 스트림은 데이터의 연속적인 흐름을 말한다. - 중간 연산을 0~n번 거친 후 최종 연산 0~1번을 거쳐 결과가 나온다. // Stream Collection.stream()을 이용해 스트림으로 변환(생성) List list = Arrays.asList(1,2,3,4,5); Stream intStream = list.stream(); // 컬렉션을 스트림으로 Stream strStream = ..