본문 바로가기

728x90
반응형

Stream

[프로그래머스] 중복된 숫자 개수 찾기(for each, stream) https://school.programmers.co.kr/learn/courses/30/lessons/120583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제) 정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요 입출력 예 NO array n result 1 [1, 1, 2, 3, 4, 5] 1 2 ◎ 풀이 방법 1. for문 사용 class Solution { public int solution(int[] array, int n) { int .. 더보기
[java] 이것이 자바다 ch17 스트림(reduce, 병렬) 11. 요소 커스텀 집계(스트림이 제공하는 메소드) ▷ 스트림은 기본 집계 메소드인 sum(), average(), count(), max(), min()을 제공하지만, 다양한 집계 결과물을 만들 수 있도록 reduce() 메소드도 제공 NO 인터페이스 리턴 타입 메소드(매개변수) 1 Stream Optional reduce(BinaryOperator accumulator) 2 T reduce(T identity, BinaryOperator accumulator) 3 IntStream OptionalInt reduce(IntBinaryOperator op) 4 int reduce(int identity, IntBinaryOperator op) 5 LongStream OptionalLong reduce(L.. 더보기
[java] 이것이 자바다 ch17 스트림(sorted, 루핑, 매칭, optional) 7. 요소 정렬 ▷ 요소를 오름차순 또는 내림차순으로 정렬하는 중간 처리 기능 NO 리턴 타입 메소드(매개변수) 설명 1 Stream sorted() Comparable 요소를 정렬한 새로운 스트림 생성 2 Stream sorted(Comparator) 요소를 Comparator에 따라 정렬한 새 스트림 생승 3 DoubleStream sorted() double 요소를 올림차순으로 정렬 4 Stream sorted() int 요소를 올림차순으로 정렬 5 Stream sorted() long 요소를 올림차순으로 정렬 ◎ Comparable 구현 객체의 정렬 ▷ 스트림의 요소가 객체일 경우 객체가 Comparable을 구현하고 있어야만 sorted() 메소드를 사용하여 정렬 가능. ▷ 그렇지 않다면 Cla.. 더보기
[java] 이것이 자바다 ch17 스트림(필터링, 매핑, wrapper) 5. 요소 걸러내기(필터링) ▷ 필터링은 요소를 걸러내는 중간 처리 기능 ◎ 필터링 메소드 NO 리턴 타입 메소드(매개변수) 설명 1 Stream IntStream LongStream DoubleStream distinct() 중복 제거 filter(Predicate) filter(intPredicate) filter(LongPredicate) filter(DoublePredicate) 조건 필터링 매개 타입은 요소 타입에 따른 함수형 인터페이스이므로 람다식으로 작성 가능 ▷ distinct() 메소드 : 요소의 중복을 제거 ▷ filter() 메소드 : 매개값으로 주어진 Predicate가 true를 리턴하는 요소만 필터링 ▷ Predicae : 함수형 인터페이스 ◎ 검사하는 추상 메소드 NO 인터페이.. 더보기
[java] 이것이 자바다 ch17 스트림(내부 반복자, 파이프라인, 인터페이스) 1. 스트림 ▷ Java8부터 컬렉션 및 배열의 요소를 반복 처리하기 위해 스트림 사용 ▷ 요소들이 하나씩 흘러가면서 처리된다는 의미 ▷ List 컬렉션의 stream() 메소드로 Stream 객체를 얻고, forEach() 메소드로 요소를 어떻게 처리할지 람다식으로 제공 ▷ 스트림과 Iterator 차이점 ▶ 내부 반복자이므로 처리 속도가 빠르고 병렬 처리에 효율적 ▶ 람다식으로 다양한 요소 처리를 정의 ▶ 중간 처리와 최종 처리를 수행하도록 파이프 라인을 형성 ◎ 스트림 사용 예제 import java.util.HashSet; import java.util.Iterator; import java.util.Set; import java.util.stream.Stream; public class Stre.. 더보기

728x90
반응형