반응형

모던액션인자바 2

모던 자바 인 액션 - 스트림 활용

목차 필터링 Predicate 필터링 filter는 프레디케이트(boolean을 반환하는 함수)를 인수로 받아서 true로 반환되는 요소를 모은 스트림을 반환한다 List vegetarianMenu = menu.stream() .filter(Dish::isVegetarian) .collect(toList()); Distict 필터링 distinct는 객체를 hashCode, equals로 비교하여 고유한 요소를 모은 스트림을 반환한다 List numbers = Arrays.asList(1, 2, 1, 3, 3, 2, 4); numbers.stream() .filter(i -> i % 2 == 0) .distinct() .forEach(System.out::println); 슬라이싱 칼로리 순으로 정렬된 ..

☕ Java 2022.07.16

모던 자바 인 액션 - Stream(스트림)이란?, 스트림특징, 내부반복/외부반복, 게으른중간연산

목차 Stream 이란? SELECT name FROM dishes WHERE calorie < 400 위 SQL문은 칼로리가 낮은 요리명을 선택하라는 질의이다. SQL에서는 요리의 속성(칼로리)를 이용하여 어떻게 필터링할 것인지 개발자가 직접 구현하지 않아도 된다. 하지만 자바에서 필터링하려면 반복문을 돌려서 처리해야한다. 요소가 많은 컬렉션이라면 어떻게할까?? 똑같이 반복문으로 돌려서 처리하면 굉장히 많은 시간이 필요할 것이고, 작업을 병렬로 처리해야 성능을 높일 수 있을 것이다. 저칼로리로 요리를 필터링하고, 칼로리 순서대로 요리를 정렬하는 코드를 작성해보자. //1. 저칼로리 요리 필터링 //2. 칼로리로 요리 정렬 ---------------------------------------------..

☕ Java 2022.07.11
반응형