본문 바로가기

프로그래밍29

Java Streams API - 3 distinct의 사용 예제다음은 distinct 메서드의 기본 사용 예제입니다.import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;public class DistinctExample { public static void main(String[] args) { List numbers = Arrays.asList(1, 2, 2, 3, 4, 4, 5); List distinctNumbers = numbers.stream() .distinct() .. 2024. 5. 26.
Java Streams API - 2 Java Streams API의 중간 연산은 스트림을 변환하거나 필터링하는 작업을 수행하며, 항상 또 다른 스트림을 반환합니다. 중간 연산은 지연 평가(lazy evaluation) 방식으로 동작하여, 최종 연산이 호출되기 전까지는 실제로 수행되지 않습니다. 이는 스트림 파이프라인의 효율성을 높이고, 필요 이상의 연산을 피하는 데 도움을 줍니다.다음은 주요 중간 연산과 그 동작 방식에 대한 자세한 설명입니다.주요 중간 연산filter주어진 조건(predicate)에 맞는 요소들만 포함하는 스트림을 반환합니다.사용 예:List numbers = Arrays.asList(1, 2, 3, 4, 5);List evenNumbers = numbers.stream() .. 2024. 5. 26.
Java Streams API - 1 Java Streams API는 Java 8에 도입된 기능으로, 컬렉션(예: List, Set, Map 등)의 데이터 처리 작업을 선언적 방식으로 수행할 수 있게 해줍니다. 이는 함수형 프로그래밍의 개념을 도입하여 코드의 가독성과 간결성을 높이며, 병렬 처리의 이점을 쉽게 활용할 수 있게 합니다. 다음은 Java Streams API에 대한 전반적인 설명입니다.스트림의 기본 개념스트림(Stream)은 데이터의 연속된 요소들을 지원하며, 다양한 중간(intermediate) 및 최종(terminal) 연산을 적용할 수 있습니다. 스트림은 데이터 소스로부터 생성되며, 요소들을 필터링, 변환, 집계하는 등의 작업을 수행할 수 있습니다.스트림의 구성데이터 소스: 스트림은 컬렉션, 배열, I/O 채널 등으로부터 .. 2024. 5. 26.
[JPA] fetch join 사용시 pagination 적용 - subquery 예제 Parent, Child 가 1:N 관계를 가질시에 엔티티 설정@Entitypublic class Parent { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @OneToMany(mappedBy = "parent", fetch = FetchType.LAZY) private List children; // getters and setters}@Entitypublic class Child { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long.. 2024. 5. 19.