java13 [Java] - Stream API ③ distinct()로 중복 요소 제거하기 distinct() 메서드란? distinct() 메서드 스트림 API에서 제공하는 메서드 중 하나로, 컬렉션의 요소에서 중복을 제거한다. distinct()는 이전의 filter() 메서드와 같이, Stream API의 3단계 (Stream 생성 → 중간 연산 → 최종 연산) 중에서 중간 연산에 속한다. 따라서 이후에 최종 연산을 수행해야 distinct() 연산이 실제로 수행된다. distinct() 메서드의 특징1. Stream 에서 중복된 요소를 제거하여 새로운 Stream 객체로 반환한다. => 중복인지 아닌지 판단할 때 내부적으로 equals() 메서드를 사용한다. 2. 정렬 순서가 보존된다.=> 원본 스트림의 순서를 유지하면서 중복을 제거한다. 중복 요소가 있을 경우 중복된 첫 번째 위치의.. 2025. 2. 18. [Spring boot] - ORM, JPA에 대해서 ORM (Object-Relational Mapping) 이란?객체와 관계형 데이터베이스를 매핑시켜, 객체 지향 코드를 작성 가능하도록 하는 기술을 말한다.=> 관계형 ↔ 객체지향 사이의 변환 기법! 객체(Object)와 데이터베이스(DB)의 테이블의 구조를 자동으로 연결시켜준다.ORM을 사용하면 개발자는 SQL 쿼리를 직접 작성하지 않아도 되며, 자바 코드를 통하여 DB의 데이터를 조작하고 처리할 수 있어 편리하다.ORM의 장점1. 개발 생산성 증가앞서 말했듯이, ORM을 사용하면 개발 시 SQL을 직접 작성할 필요가 없기 때문에 개발 생산성이 증가한다.ex) Member이라는 테이블이 있다고 가정하고, 이 테이블의 전체 데이터를 조회해야 한다고 하자.기존의 SQL 쿼리를 아래와 같이 따로 작성해야 했.. 2025. 2. 17. [Java] - Stream API ② filter() 메서드 filter() 메서드란? filter() 메서드는, 주어진 조건을 만족하는 요소들로 구성된 스트림만을 필터링하여 반환하는 메서드이다.즉, 컬렉션의 요소들 중 조건문에 맞는 요소들만 추출하여 새로운 스트림으로 생성하여 반환한다. filter()는 Stream API의 3단계 (Stream 생성 → 중간 연산 → 최종 연산) 중에서 중간 연산에 속한다. 따라서 이후에 최종 연산을 수행해야 filter() 연산이 실제로 수행된다. collect(), map() 등 다른 메서드들과 같이 사용하는 경우가 많다.filter() 메서드 사용 예시 1. 짝수 추출하기import java.util.ArrayList;import java.util.List;public class Main { public static v.. 2025. 2. 16. [Java] - Stream API ⓛ forEach() 사용법 정리 forEach() 란?자바8에서 Stream이 도입되면서 등장한 메서드로, 리스트, 배열과 같은 컬렉션 데이터를 반복할 때 사용한다.반환 타입은 void로, 스트림의 모든 요소를 출력하는 용도로 많이 활용된다.보통 람다식과 결합하여 많이 사용용하며, 기존의 for문에 비해 더 간결하고 가독성이 좋은 편이다. forEach()는 컬렉션의 요소 전체를 하나씩 꺼내서 반복하며, Stream API의 3단계 (Stream 생성 → 중간 연산 → 최종 연산) 중에서 최종 연산에 속한다. 따라서 이후에 다른 최종 메서드를 호출해서는 안된다. (count()와 같은..)forEach() 메서드 사용 예시 ⓛ 람다식for문을 스트림 API의 forEach() 메서드를 사용하여 바꿔보자! 기존의 for문으로 list.. 2025. 2. 15. [Java] - 스트림(Stream) API란? 스트림(Stream) API란?스트림 API란, Collection에 추가된 메서드들의 집합을 말한다. 쉽게 말해, 컬렉션에 담긴 데이터들을 흐름으로 처리하는 도구이다. 스트림 API를 활용하면 코드가 간결해지고, 개발자는 데이터를 효율적으로 처리할 수 있다는 장점이 있다. 스트림 API 연산의 3단계Stream 객체는 3단계의 과정을 거쳐 처리되는데, 3단계는 아래와 같다. ① Stream 생성 (Source)stream() 또는 Array.stream() 등의 메서드로 스트림을 생성한다.List list = List.off(1, 2, 3);list.stream();int[] arr = {1, 2, 3};Arrays.stream(arr); ② 중간 연산 (Intermediate Operations)데.. 2025. 2. 14. [Java] - 람다 표현식(Lamda expression) 람다 표현식(Lamda expression)이란? 람다 표현식이란, 자바8에서 도입된 기능으로, 익명 함수(Anonymous function)을 지칭하는 용어이다.쉽게 말해, 메서드를 간결한 하나의 식으로 표현한 것이다!→ 메서드의 이름과 리턴값이 없어 익명 함수라고 부른다. 일반적으로 Java에서 메서드를 선언하는 경우를 생각해 보자.자바의 기본적인 문법에서는, 메서드만 따로 선언하는 것이 불가능하며, 하나의 메서드를 선언하더라도 반드시 클래스가 있어야 한다. (클래스 먼저 선언 → 그 안에 함수 선언) 임시로 사용할 함수 하나 때문에 매번 클래스와 메서드를 선언하는 것은 번거롭다. 하지만 람다식을 사용하면, 기존의 메서드 선언 방식보다 코드의 길이를 대폭 줄일 수 있다.코드가 어떻게 간결해지는지 람다.. 2025. 2. 13. 이전 1 2 3 다음