Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Resources
- #청주주님의교회
- 회원가입
- Spring
- 제이쿼리
- 안드로이드 AVD
- 생명주기
- 아이콘
- 영성
- 인텐트
- 에디터
- Selector
- 글쓰기
- 웹개발
- 주님의교회
- 청주
- jQuery
- TinyMCE
- Intent
- Java
- 프로그래밍
- Android
- Activity
- CSS
- androidstudio
- JavaScript
- 안드로이드
- 자바
- 게시판
- java 8
Archives
- Today
- Total
공부하는 블로그
Java 8 Stream 본문
값으로 스트림 만들기
Stream<String> stream = Stream.of("Java 8 ", "Lambdas ", "In ", "Action");
stream().count()는 long 타입의 결과를 반환한다. (파일로 스트림을 만들어 반환하면 크기가 엄청나게 커질 수 있으므로 int 가 아닌 long 이다.)
* long 보다 큰 결과가 나올 경우는 BigInteger 라는 것을 쓴다.
스트림의 카운트 세기
.count();
또는 .collect(Collectors.counting());
collect를 사용하여 총 합 조회하기
long calories = menu.stream().collect(Collectors.summingLong(dish -> dish.getCalories()));
collect를 사용하여 가장 작은 값 조회
Optional<Dish> minCalory = menu.stream()
.collect(
Collectors.minBy(Comparator.comparingInt(Dish::getCalories)
));
optional 객체의 .get() 을 호출하면
* 시험에 함수형 인터페이스 종류 6개 있다고 한 것(Predicate<T>, BiPredicate<L,R>, Consumer<T>, BiConsumer<T,U>, Function<T,R>, Function<T,R,U>)과 optional 시험에 나옴
// 모든 요리의 평균 칼로리를 조회하기
Double avgCalory = menu.stream()
.collect(Collectors.averagingInt(Dish::getCalories));
System.out.println("모든 요리의 평균 칼로리 : " + avgCalory);
// 모든 메뉴의 이름을 ,로 구분하여 출력
String menus = menu.stream()
.map(dish -> dish.getName())
.collect(Collectors.joining(","));
System.out.println(menus);
import static을 쓰면 Collectors 에 있는 static 메서드를 그냥 가져올 수 있다.
ex) import static java.util.stream.Collectors.*;
import static java.util.Comparator.*;
// 그룹핑 하기
Map<Dish.Type, List<Dish>> dishesByType = menu.stream().collect(Collectors.groupingBy(Dish::getType));
Stream<String> stream = Stream.of("Java 8 ", "Lambdas ", "In ", "Action");
stream().count()는 long 타입의 결과를 반환한다. (파일로 스트림을 만들어 반환하면 크기가 엄청나게 커질 수 있으므로 int 가 아닌 long 이다.)
* long 보다 큰 결과가 나올 경우는 BigInteger 라는 것을 쓴다.
스트림의 카운트 세기
.count();
또는 .collect(Collectors.counting());
collect를 사용하여 총 합 조회하기
long calories = menu.stream().collect(Collectors.summingLong(dish -> dish.getCalories()));
collect를 사용하여 가장 작은 값 조회
Optional<Dish> minCalory = menu.stream()
.collect(
Collectors.minBy(Comparator.comparingInt(Dish::getCalories)
));
optional 객체의 .get() 을 호출하면
* 시험에 함수형 인터페이스 종류 6개 있다고 한 것(Predicate<T>, BiPredicate<L,R>, Consumer<T>, BiConsumer<T,U>, Function<T,R>, Function<T,R,U>)과 optional 시험에 나옴
// 모든 요리의 평균 칼로리를 조회하기
Double avgCalory = menu.stream()
.collect(Collectors.averagingInt(Dish::getCalories));
System.out.println("모든 요리의 평균 칼로리 : " + avgCalory);
// 모든 메뉴의 이름을 ,로 구분하여 출력
String menus = menu.stream()
.map(dish -> dish.getName())
.collect(Collectors.joining(","));
System.out.println(menus);
import static을 쓰면 Collectors 에 있는 static 메서드를 그냥 가져올 수 있다.
ex) import static java.util.stream.Collectors.*;
import static java.util.Comparator.*;
// 그룹핑 하기
Map<Dish.Type, List<Dish>> dishesByType = menu.stream().collect(Collectors.groupingBy(Dish::getType));
'Develop > JAVA' 카테고리의 다른 글
컬렉션 프레임워크 (Collection Framework) - ArrayList (0) | 2017.12.12 |
---|---|
IntelliJ 사용하기 (0) | 2017.11.16 |
JAVA 8 Map / FlatMap (0) | 2017.11.01 |
JAVA 8 Collect (0) | 2017.11.01 |
JAVA 8 Stream (0) | 2017.10.31 |