[JAVA] Stream(스트림)
·
Programming Language/JAVA
Stream(스트림) 다양한 데이터 소스(컬렉션, 배열 등)를 표준화된 방법으로 다루기 위한 것 데이터 소스를 스트림으로 변환 후 여러 번의 중간 연산과 마지막의 최종 연산을 통해 다를 수 있음 배열, 컬렉션을 대상으로 연산 수행 한 번 생성하고 사용한 스트림 재사용 불가 중간 연산은 여러 개의 연산 적용 가능, 최종 연산은 마지막에 한 번 적용 최종 연산이 호출되어야 중간 연산에 대한 수행이 이루어지고 그 결과가 만들어짐 따라서 중간 연산에 대한 결과를 연산 중에 알 수 없음 → 이를 ‘지연 연산’이라 함 스트림 만들기 중간연산(반복 적용 가능, 연산 결과가 스트림) 최종연산(스트림의 요소를 소모) → 결과 리턴 list.stream() // 스트림 만들기 .distinct() // 중간연산 .limi..
[JAVA] 람다식
·
Programming Language/JAVA
람다함수란? 익명 함수를 지칭하는 용어 함수를 단순하게 표현하는 방법 람다의 장단점 장점 코드의 간결성 지연연산 수행 병렬처리 가능 단점 람다식의 호출이 까다로움 람다 스트림 사용 시 반복문 사용 시 성능이 떨어짐 가독성이 떨어질 수 있음 람다식 표현 1. 메서드의 이름과 반환 타입을 제거하고 ‘→’ 를 블록 {} 앞에 추가 2. 반환값이 있는 경우 식이나 값만 적고 return문 생략 가능( ; 생략) 3. 매개변수의 타입이 추론이 가능하면 생략 가능 주의사항 매개변수가 하나인 경우 괄호() 생략 가능(타입이 없는 경우) 블록 안의 문장이 하나뿐일 때 괄호{} 생략 가능(끝에 ; 생략) 하나뿐인 문장이 return문이면 괄호{} 생략 불가 return문과 중괄호를 같이 생략 가능 @Functionall..