Inflearn brand logo image

인프런 커뮤니티 질문&답변

H K님의 프로필 이미지
H K

작성한 질문수

김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍

다운 스트림 컬렉터1

자바 그룹핑

작성

·

75

0



질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

안녕하세요 갓영한님
자바에서 이렇게 그룹핑 하는 경우도 있을까요 ?

실무에서 보통 쿼리쪽에서 하지않나용??

답변 2

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. H K님

데이터베이스에서 조회하는 데이터의 경우 당연히 데이터베이스에서 처리해서 받아오는 것이 좋습니다 🙂

하지만 데이터베이스가 아닌 곳에서 조회하는 데이터의 경우 이런 로직이 필요하겠지요?

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

H K님, 자바에서 스트림을 이용해 데이터를 그룹핑하는 것은 충분히 가능합니다. Java 8의 스트림 API는 Collectors 클래스를 사용하여 데이터를 그룹핑할 수 있는 다양한 방법을 제공합니다. 예를 들어, Collectors.groupingBy() 메소드를 이용하면 특정 키로 데이터를 그룹핑할 수 있습니다.

다음과 같은 예제 코드로 이해를 도울 수 있습니다:

List<User> users = ... // 사용자가 정의한 리스트
Map<String, List<User>> groupedByCountry = users.stream()
    .collect(Collectors.groupingBy(User::getCountry));

실무에서는 데이터베이스 쿼리를 사용하여 데이터를 그룹핑하는 것이 일반적입니다. 이는 데이터베이스가 대량의 데이터를 효율적으로 처리할 수 있기 때문입니다. 하지만 메모리 내에서 처리할 경우에는 스트림 API를 이용한 그룹핑도 좋은 접근법입니다.

추가적으로 Spring Data JPA와 같은 라이브러리를 사용하면, Java 코드 내에서 데이터베이스 그룹핑을 더 쉽게 구현할 수 있어 실무에서의 활용도가 높습니다. 스트림을 사용하여 데이터베이스 쿼리의 결과를 스트림으로 처리할 수도 있습니다.

더 궁금한 내용이 있다면 언제든지 질문해 주세요!


출처: Spring Data JPA - Reference Documentation v3.1.5

H K님의 프로필 이미지
H K

작성한 질문수

질문하기