728x90

Java8 4

람다식 중간연산 정리 (map, filter, reduce, collect)

stream 인터페이스를 사용하여 람다식을 기존 JAVA코드(명령형 스타일)와 비교 아래에 소개하는 4개의 메서드를 간단히 설명하면 map()은 엘리먼트 변경, filter()는 엘리먼트 선택, reduce(), collect()는 엘리먼트를 하나로 리턴 이다. 1. map() map 메서드는 입력 컬렉션을 출력 컬렉션으로 매핑하거나 변경할때 유용하다. 예제 코드 list의 엘리먼트 값을 모두 대문자로 변경하여 출력. final List names = Arrays.asList("Sehoon", "Songwoo", "Chan", "Youngsuk", "Dajung"); //java 7 System.out.println("java 7"); for(String name : names) { System.out...

JAVA 2022.10.19

Java8 Optional 의 ifPresent 활용

자바 8에 추가된 Optional이 제공하는 ifPresent를 사용해서 null을 확인하는 if 문을 줄일 수 있다. Member member = memberRepository.findById(id); if (member != null) { if (member.isAdmin()) { member.addAdminPermissions(); } else { member.addDefaultPermissions(); } } 이런 코드가 있다고 가정해보자. memberRepository가 제공하는 findById를 Member 타입을 리턴하는데 이 값을 null일 수도 있기 때문에 if (member != null)과 같은 코드가 존재한다. 이 코드에 이제 Optional을 적용한 다음코드를 살펴보자. Membe..

JPA 2022.09.01

스트림의 기본 및 간단한 특징

(Java 8이상)스트림(Stream) 이란? 다양한 데이터 소스를 표준화된 방법으로 다루기 위한 것이다. 스트림이 제공하는 기능 - 중간 연산과 최종 연산 중간 연산 - 연산결과가 스트림인 연산. 반복적으로 적용 가능하다. 최종 연산 - 연산결과가 스트림이 아닌 연산. 스트림의 요소를 소모하므로 한번만 적용가능하다. 스트림의 구조 스트림의 특징 스트림은 데이터 소스로부터 데이터를 읽기만할 뿐 변경하지 않는다. 스트림은 Iterator처럼 일회용이다. 최종 연산 전까지 중간연산이 수행되지 않는다. - 지연된 연산 List list = Arrays.asList(4, 2, 5, 1, 3); List sortedList = list.stream().sorted() .collect(Collectors.toLis..

JAVA 2022.02.14
728x90