스트림 데이터를 스트림형태로 변환시켜서 필터, 연산 등 데이터를 쉽게 가공해주는 API 중간 연산 filter(), map() 등등 최종 연산 sum(), forEach(), reduce() 등등 스트림으로 변환 배열 -> 스트림 Arrays.stream(배열명); 리스트 -> 스트림 리스트명.stream(); 스트림 연결 Stream.of() Stream.of(데이터1, 데이터2, 데이터3) 리스트.stream하면 리스트 안에 데이터 하나하나씩 스트림화 Strema.of(리스트)하면 리스트 통째로 하나
Optional 클래스 옵셔널박스에 객체 담기 Optional 이름 = Optional.of(객체명); : 들어가는 객체가 무조건 not null Optional 이름 = Optional.ofNullable(객체명); : null도 넣을 수 있음 + int데이터를 넣을 경우 Optional는 없기 때문에 Integer로 만들어져서 성능저하를 일으킴 OptionalInt OptionalDouble 로 만들어주면 됨 Optional 클래스의 메소드 isPresent() : 데이터가 존재하는지 true false ifPresent() : 만약 옵셔널박스의 데이터가 null이 아니면 ()안의 매개변수가 실행됨 매개변수로 함수형 인터페이스 Consumer이 들어감!! 그래서 리턴타입 없음 이 코드를 더 줄이면 메..
람다식 인터페이스를 구현할 때 클래스를 만들지 않고 익명클래스를 이용해서 코드를 간결하게 만들어준다. (매개변수) -> 실행문 @FunctionalInterface 함수형 인터페이스 람다를 사용하기 위한 인터페이스로 구현 메소드를 1개만 만들 수 있음 (1개 이상 만들면 오류가 남!) 예시) + 람다식으로 List 내역 출력하기 람다식으로 간추리는 과정이 궁금하면 해당 게시물 참조 https://bagun-coding.tistory.com/entry/Java-%EC%99%B8%EB%B6%80-%ED%81%B4%EB%9E%98%EC%8A%A4-%EB%82%B4%EB%B6%80-%ED%81%B4%EB%9E%98%EC%8A%A4 [Java] 외부 클래스, 내부 클래스, 익명 내부 클래스 외부 클래스, 내부 클..