자바 스트림 API - Optional
·
Programming Language/JAVA
OptionalInt, OptionalDouble, OptionalLong 컬렉션에 값이 없을 경우 집계 메서드를 사용하면 예외 발생된다. 예외방지 + default 값 설정하는 기능을 제공한다. 1. 컬렉션에 값이 존재하는 경우 List list = new ArrayList(); list.add(10); list.add(25); OptionalDouble avg = list.stream() .mapToDouble(a->a) .average(); System.out.println(avg); //OptionalDouble[17.5] System.out.println(avg.getAsDouble()); //17.5 System.out.println(avg.orElse(0.0)); //17.5 - 값이 있다면..
자바 스트림 API - 최종처리(4)_collect2
·
Programming Language/JAVA
collect(partitioningBy(Predicate)) => true 값과 false로 나누어서 반환 collect(Collectors.groupingBy(Function)) => Function에서 리턴값으로 그룹핑해서 반환 8. 성별 분류 //익명클래스 Predicate predicate = new Predicate() { @Override public boolean test(Stu t) { return t.isMale(); } }; Map xxx = Stream.of(stuArr).collect(Collectors.partitioningBy(predicate)); List male = xxx.get(true); List female = xxx.get(false); System.out.prin..
자바 스트림 API - 최종처리(3)_collect
·
Programming Language/JAVA
collect collect(Colltecor
자바 스트림 API - 최종처리(2)_IntStream, LongStream, DoubleStream의 집계메서드
·
Programming Language/JAVA
통계처리 IntStream, LongStream, DoubleStream 의 집계 메서드 **합계: sum() 평균: average() 최대: max() 최소: min() 갯수: count()** int[] arr = {1,2,3,4,5}; 합계: sum() int sum = Arrays.stream(arr) .sum(); System.out.println("합계:" + sum); sum = Arrays.stream(arr) .filter(n->n%2==0) .sum(); System.out.println("짝수의 합계:" + sum); //합계:15 //짝수의 합계:6 평균: average() double avg = Arrays.stream(arr) .average() .orElse(0.0); Syst..
자바 스트림 API - 최종처리_allMatch/anyMatch/noneMatch
·
Programming Language/JAVA
최종처리 단계에서 요소들이 특정 조건에 만족여부 확인 allMatch(Predicate): 모든 요소들이 Predicate 조건에 일치하는지 체크 anyMatch(Predicate): 일부분의 요소들이 Predicate 조건에 일치하는지 체크 noneMatch(Predicate): 모든 요소들이 Predicate 조건에 일치하지 않는지 체크 => 최종 결과는 boolean 값으로 반환 --- int[] arr = {1,2,3,4,5}; allMatch(Predicate) //익명클래스 IntPredicate predicate = new IntPredicate() { @Override public boolean test(int t) { return t < 10; } }; //모든 요소가 10보다 작냐? b..
자바 스트림 API- 중간처리(3)_boxed/asDoubleStream()
·
Programming Language/JAVA
int[] arr = {1,2,3,4,5}; boxed() : 기본형 ⇒ 참조형 //가. boxed(): int ---> Integer IntStream s = Arrays.stream(arr); s.boxed() .forEach(System.out::println); //1 //2 //3 //4 //5 asDoubleStream() IntStream => DoubleStream LongStream => DoubleStream //나. asDoubleStream(): 정수 ---> 실수 Arrays.stream(arr) .asDoubleStream() .forEach(System.out::println); //1.0 //2.0 //3.0 //4.0 //5.0
자바 스트림 API - 중간처리(2)_sorted/skip/limit
·
Programming Language/JAVA
class Person{ String username; int score; public Person() {} public Person(String username, int score) { this.username = username; this.score = score; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } @Override public String toStr..
자바 스트림 API - 중간처리(1)_distinct/filter/map/mapToInt/flatmap
·
Programming Language/JAVA
distinct 중복제거 //컬렉션에서 Stream 생성 List list = Arrays.asList("홍길동", "이순신", "유관순", "이순신"); //1. 중간처리 (중복제거- distinct) list.stream() .distinct() .forEach(System.out::println); //홍길동, 이순신, 유관순 filter 필터링 //익명함수 Predicate predicate = new Predicate() { @Override public boolean test(String t) { return t.startsWith("이"); } }; //filter list.stream() .filter(predicate) .forEach(System.out::println); //람다표현식..
자바 스트림 API - 스트림 생성
·
Programming Language/JAVA
1. 컬렉션에서 Stream 생성 //1. 컬렉션에서 Stream 생성 List list = Arrays.asList("홍길동", "이순신", "유관순"); Stream s = list.stream(); //스트림얻기. 중간처리,최종처리를 할 수 있음. System.out.println("스트림 요소 갯수: " + s.count()); //스트림 요소 갯수: 3 //익명클래스 Consumer c = new Consumer() { @Override public void accept(String t) { System.out.println(t); } }; //s라는 변수를 계속 반복적으로 쓸수 없기 때문에 새로운 스트림을 얻어 forEach할때 사용 list.stream().forEach(c); System...
자바 스트림 API (java stream API)
·
Programming Language/JAVA
개요 JDK 8에 추가됨 (java.util.stream 패키지) 기본적으로 표준 API 함수적 인터페이스 사용함 기존에 사용했던 컬렉션(List, Set, Map)은 데이터를 저장하는 역할에 촛점을 맞춤 자바 스트림 API를 이용하면 컬렉션에 저장된 데이터를 연산(중간처리, 최종처리)이 가능하다. 중간처리: 컬렉션에 지정된 데이터를 정렬, 중복제거, 필터링, skip 등의 작업 최종처리: 컬렉션에 지정된 데이터를 중간처리를 거쳐서 나온 값들을 반복출력, 타입변환(List→Map), 그룹핑, 통계처리(합계,평균,최대,최소,갯수) 등의 작업 ⇒ 자바코드로 SQL 같은 작업을 할 수 있다. 자바 스트림 API 이용 3단계 컬렉션(배열)에서 스트림을 생성 List list = Arrays.asList("홍길동..
xoo | 수진
'Programming Language/JAVA' 카테고리의 글 목록