Java
-
[JAVA] 리스트 검색하기Java/Collection(컬렉션) 2024. 9. 27. 15:14
목차 자바에서는 리스트를 검색하는 다양한 방법이 있습니다. 이번 문서에서는 리스트를 검색하는 여러 가지 방법에 대해 설명하겠습니다. 주요 메서드로는 순차 검색, 이진 검색, 라이브러리 메서드를 사용한 검색, 특정 값의 모든 인덱스를 찾는 방법, 최대값 및 최소값을 찾는 방법, 최빈값(가장 빈번하게 나타나는 값)을 찾는 방법, 그리고 리스트에서 중복값을 찾는 방법이 있습니다. 1. 순차 검색순차 검색을 사용하여 리스트에서 특정 값을 찾는 방법입니다. 리스트의 첫 번째 요소부터 시작하여 찾아야 하는 값을 순차적으로 비교합니다./** * 순차 검색을 사용하여 리스트에서 특정 값을 찾음 * * @param list 검색할 리스트 * @param value 검색할 값 * @return 리스트에서 값의 인덱스 (..
-
[JAVA] 리스트 정렬하기 : 오름차순, 내림차순, 병렬 정렬Java/Collection(컬렉션) 2024. 9. 27. 14:43
목차 자바에서는 리스트를 정렬하는 다양한 방법이 있습니다. 이번 문서에서는 ListSort 클래스의 메서드를 사용하여 리스트를 오름차순 및 내림차순으로 정렬하는 방법을 기본과 병렬 방식으로 구분하여 설명하겠습니다. 1. 리스트를 Collections.sort 메서드를 사용하여 오름차순 정렬Collections.sort 메서드를 사용하여 정수 리스트를 오름차순으로 정렬합니다./** * Collections.sort 메소드를 사용하여 리스트를 오름차순으로 정렬 * * @param list 정렬할 리스트 * @param 정렬할 리스트의 타입 * @return 정렬된 리스트 */public > List listSortAscending(List list) { Collections.sort(list); ret..
-
[Java] MapStruct를 활용한 객체 변환Java/기타 2024. 9. 21. 07:19
mapstruct 라이브러리는 Java Bean 매핑을 간편하게 수행할 수 있도록 도와주는 애너테이션 기반의 코드 생성 라이브러리입니다. 이번 포스트에서는 Flattening과 Projection을 통해 MapStruct의 사용법을 알아보겠습니다. 1. 라이브러리 추가Gradle 설정dependencies { // Lombok - MapStruct보다 먼저 정의 compileOnly 'org.projectlombok:lombok:1.18.34' annotationProcessor 'org.projectlombok:lombok:1.18.34' testCompileOnly 'org.projectlombok:lombok:1.18.34' testAnnotationProcessor 'o..
-
[JAVA] 배열의 중복 요소 제거하기Java/Collection(컬렉션) 2024. 9. 17. 16:53
목차 자바에서는 배열의 중복 요소를 제거하는 여러 가지 방법이 있습니다. `HashSet`을 사용하는 방법, `Stream API`를 사용하는 방법, 그리고 중첩 루프를 사용하는 방법이 있습니다. 1. HashSet을 사용하여 중복 제거`HashSet`을 사용하는 것은 배열의 중복 요소를 제거하는 가장 간단하고 효율적인 방법 중 하나입니다. `HashSet`은 중복 요소를 허용하지 않기 때문에 쉽게 중복을 처리할 수 있습니다./** * HashSet을 사용한 중복 제거 * * @param array 중복된 요소를 제거할 정수형 배열 * @return 중복이 제거된 새로운 배열, 입력 배열이 null인 경우 null 반환 */public int[] removeDuplicatesUsingSet(int[] a..
-
[JAVA] 배열 회전하기Java/Collection(컬렉션) 2024. 9. 17. 16:52
목차 자바에서는 배열을 회전시키는 여러 가지 방법이 있습니다. 전통적인 for 문, 스트림 API, 그리고 헬퍼 메서드를 사용하는 방법이 있습니다. 1. 반복문을 사용하여 배열을 회전전통적인 for 문를 사용하여 배열을 회전하는 방법은 직관적이고 간단합니다./** * 반복문을 사용하여 배열을 회전 * * @param nums 회전할 배열 * @param k 회전할 위치 수 * @return 회전된 배열 */public int[] rotateWithLoop(int[] nums, int k) { int n = nums.length; if (n == 0) { return nums; } k = k % n; int[] rotated = new int[n]; for (int i = 0; i 단..
-
[JAVA] 배열의 합 구하기Java/Collection(컬렉션) 2024. 9. 17. 16:52
목차 자바에서는 배열의 합을 구하는 여러 가지 방법이 있습니다. 전통적인 for 문, 향상된 for 문, 스트림 API, 재귀 호출, 그리고 Arrays.parallelPrefix 메서드를 사용하는 방법이 있습니다.1. 전통적인 for 문를 사용한 합 구하기전통적인 for 문을 사용하여 배열의 합을 구하는 방법은 직관적이고 간단합니다./** * 배열의 합을 전통적인 for 루프를 사용 * * @param array 합을 구할 배열 * @return 배열 요소들의 합 */public int sumUsingForLoop(int[] array) { int sum = 0; for (int i = 0; i 단위 테스트@Order(1)@DisplayName("sumUsingForLoop: 배열 요소들의 합")@..
-
[JAVA] 배열 검색하기Java/Collection(컬렉션) 2024. 9. 17. 16:52
목차 자바에서는 배열을 검색하는 다양한 방법이 있습니다. 이번 문서에서는 배열을 검색하는 여러 가지 방법에 대해 설명하겠습니다. 주요 메서드로는 순차 검색, 이진 검색, 라이브러리 메서드를 사용한 검색, 그리고 2차원 배열에서 값의 존재 여부를 확인하는 방법이 있습니다. 추가로 배열에서 최대 및 최소값을 찾는 방법도 설명하겠습니다. 1. 순차 검색순차 검색을 사용하여 배열에서 특정 값을 찾는 방법입니다. 배열의 첫 번째 요소부터 시작하여 찾아야 하는 값을 순차적으로 비교합니다./** * 순차 검색을 사용하여 배열에서 특정 값을 찾음 * * @param array 검색할 배열 * @param value 검색할 값 * @return 배열에서 값의 인덱스 (존재하지 않으면 -1) */public int lin..
-
[JAVA] 배열 정렬하기 : 오름차순, 내림차순Java/Collection(컬렉션) 2024. 9. 17. 16:52
목차 자바에서는 배열을 정렬하는 다양한 방법이 있습니다. 이번 문서에서는 Arrays.sort, Arrays.parallelSort 메서드 등을 사용하여 배열을 오름차순 및 내림차순으로 정렬하는 방법을 기본과 병렬 방식으로 구분하여 설명하겠습니다. 1. 정수 배열을 오름차순 정렬Arrays.sort 메서드를 사용하여 정수 배열을 오름차순으로 정렬합니다./** * Arrays.sort 메소드를 사용하여 배열을 오름차순으로 정렬 * * @param arr 정렬할 배열 * @return 정렬된 배열 */public int[] arraySortAscending(int[] arr) { Arrays.sort(arr); return arr;}단위 테스트@Order(1)@DisplayName("arraySortAs..
-
[Java] ModelMapper를 활용한 객체 변환Java/기타 2024. 8. 17. 10:22
org.modelmapper 라이브러리는 복잡한 객체를 단순화하거나, 단순한 객체를 복잡하게 변환하는데 유용합니다. 이번 포스트에서는 두 가지 주요 변환 방식인 Flattening과 Projection을 통해 ModelMapper의 사용법을 알아보겠습니다.1. 라이브러리 추가com.jayway.jsonpath:json-path:2.9.0는 Java에서 JSON 데이터를 다루기 위해 사용하는 라이브러리입니다. Gradle 설정build.gradle 파일에 다음과 같이 의존성을 추가합니다.// ModelMapperimplementation 'org.modelmapper:modelmapper:3.2.1'Maven Repository : https://mvnrepository.com/artifact/org.mo..
-
[Java] JSONPath로 JSON 데이터 다루기Java/기타 2024. 8. 17. 10:07
JSONPath는 JSON 데이터를 효율적으로 탐색하고, 특정 값을 추출하거나 필터링하는 쿼리 언어입니다. 이번 포스트에서는 com.jayway.jsonpath 라이브러리 사용하여 Java에서 JSON 데이터를 다루는 방법을 살펴보겠습니다.JSONPath 개요JSONPath는 JSON 문서를 대상으로 SQL과 유사한 구문을 사용하여 JSON 데이터의 특정 값을 추출할 수 있습니다. 대표적인 JSONPath 구문은 다음과 같습니다.JSON 경로 설명JSON 경로설명$루트 객체를 나타냅니다.@현재 객체를 나타냅니다.. 또는 [] 자식을 나타냅니다.*모든 요소를 나타냅니다... 모든 하위 요소를 재귀적으로 탐색합니다.?()필터링 조건을 나타냅니다. 1. 라이브러리 추가com.jayway.jsonpath:jso..