일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- javascript
- CSS
- 이클립스
- vscode
- 배열
- 인텔리제이
- string
- input
- html
- Eclipse
- Array
- 정규식
- json
- HashMap
- map
- IntelliJ
- Visual Studio Code
- date
- ArrayList
- CMD
- 자바스크립트
- table
- list
- 이탈리아
- Button
- replace
- js
- 자바
- Java
- 문자열
- Today
- Total
목록IT/Java (246)
어제 오늘 내일
배열은 Arrays.sort()로 정렬할 수 있지만, **리스트(List)**를 정렬할 때는 어떻게 해야 할까요?그럴 때 사용하는 것이 바로 **Collections.sort()**입니다.이 메서드는 리스트(List)를 정렬할 때 사용하는 대표적인 유틸리티 메서드입니다. 1. 기본 사용법Collections.sort()는 List 인터페이스를 구현한 컬렉션을 정렬할 수 있습니다.import java.util.*;public class CollectionsSortExample1 { public static void main(String[] args) { List numbers = new ArrayList(Arrays.asList(5, 2, 9, 1, 3)); Collectio..
자바에서 배열 정렬하면 보통 Arrays.sort()를 많이 씁니다.그런데 대용량 배열을 정렬할 때는 시간이 오래 걸릴 수 있죠.이럴 때 더 빠른 성능을 낼 수 있는 방법이 바로 Arrays.parallelSort() 입니다.이 메서드는 Java 8에서 추가된 기능으로, 멀티코어 CPU를 활용해 배열을 병렬로 정렬할 수 있습니다. 1. Arrays.parallelSort()란?내부적으로 Fork/Join 프레임워크를 활용하여 배열을 여러 조각으로 나눠 병렬 정렬정렬된 조각들을 다시 합쳐 최종 결과를 만듭니다멀티코어 환경에서 성능 이점이 있으며, 배열 크기가 클수록 효과가 큽니다👉 메서드 시그니처:public static void parallelSort(int[] a)public static void p..
배열을 비교할 때 보통 Arrays.equals()나 Arrays.deepEquals()를 사용합니다.하지만 이 메서드들은 단순히 같다/다르다(true/false)만 알려줍니다."어느 위치가 다른지"를 확인하려면 Arrays.mismatch()를 쓰는 것이 훨씬 효율적입니다. 1. Arrays.mismatch()란?두 배열을 앞에서부터 순차적으로 비교처음으로 다른 값이 나타난 인덱스를 반환두 배열이 완전히 같으면 -1을 반환👉 메서드 시그니처:public static int mismatch(int[] a, int[] b)public static int mismatch(T[] a, T[] b) 2. 기본 사용 예제import java.util.Arrays;public class MismatchExamp..
배열을 출력할 때 흔히 Arrays.toString()을 사용합니다.하지만 다차원 배열을 toString()으로 출력하면 메모리 주소값이 나오기 때문에 사람이 이해하기 힘듭니다.이때 사용하는 메서드가 바로 Arrays.deepToString() 입니다. 1. Arrays.toString()의 한계먼저 Arrays.toString()으로 2차원 배열을 출력해봅시다.import java.util.Arrays;public class DeepToStringExample1 { public static void main(String[] args) { int[][] arr = {{1, 2}, {3, 4}}; System.out.println(Arrays.toString(arr)); ..
배열을 비교할 때 자주 사용하는 Arrays.equals()는 1차원 배열에는 잘 동작하지만, 2차원 이상 다차원 배열에서는 원하는 결과를 주지 않습니다.이럴 때 사용하는 메서드가 바로 Arrays.deepEquals() 입니다. 1. Arrays.equals()의 한계먼저 Arrays.equals()를 다차원 배열에 사용해보겠습니다.import java.util.Arrays;public class DeepEqualsExample1 { public static void main(String[] args) { String[][] arr1 = {{"A", "B"}, {"C", "D"}}; String[][] arr2 = {{"A", "B"}, {"C", "D"}}; ..
자바에서 배열과 리스트는 서로 다른 자료구조이지만, 간단하게 변환할 수 있는 방법이 있습니다.그중 가장 자주 쓰이는 메서드가 바로 Arrays.asList() 입니다. 1. Arrays.asList()란?배열을 **리스트(List)**로 감싸서 반환합니다.List 인터페이스를 구현한 고정 크기 리스트를 리턴합니다.반환된 리스트는 원본 배열과 연결(linked)되어 있어, 한쪽을 수정하면 다른 쪽에도 반영됩니다.👉 메서드 시그니처:public static List asList(T... a) 2. 기본 사용 예제import java.util.Arrays;import java.util.List;public class AsListExample1 { public static void main(String..
배열을 초기화하거나 규칙적인 값으로 채워야 할 때, 보통은 for문을 사용합니다. 하지만 자바에서는 Arrays.setAll() 메서드를 이용해 훨씬 더 간결하게 처리할 수 있습니다. 1. Arrays.setAll()란?배열의 각 인덱스에 대해 연산을 적용하여 값을 설정합니다.람다 표현식이나 메서드 참조를 활용할 수 있습니다.Arrays.fill()과 달리, 인덱스 값을 기반으로 계산한 결과를 넣을 수 있다는 점이 큰 특징입니다.👉 메서드 시그니처:public static void setAll(int[] array, IntUnaryOperator generator)array : 값을 채울 배열generator : 인덱스를 받아 값을 반환하는 함수형 인터페이스 (IntUnaryOperator) 2. 기본..
배열에서 특정 값을 찾을 때 보통은 for문을 돌려 하나씩 비교합니다. 하지만 배열이 커질수록 성능이 떨어지죠.이럴 때 이진 탐색 알고리즘을 활용하는 Arrays.binarySearch() 메서드를 쓰면 훨씬 빠르게 값을 찾을 수 있습니다. 1. Arrays.binarySearch()란?배열에서 특정 값의 인덱스를 반환합니다.내부적으로 이진 탐색(Binary Search) 알고리즘을 사용합니다.전제 조건: 배열이 오름차순 정렬되어 있어야 합니다.👉 메서드 시그니처:public static int binarySearch(int[] a, int key)a : 검색할 배열key : 찾고자 하는 값 2. 기본 사용 예제import java.util.Arrays;public class BinarySearchEx..
자바에서 배열은 크기가 고정되어 있기 때문에, 원하는 크기나 구간만 잘라서 새 배열을 만들어야 할 때가 있습니다.이럴 때 Arrays.copyOfRange() 메서드를 사용하면 아주 간단하게 처리할 수 있습니다. 1. Arrays.copyOfRange()란?배열의 특정 시작 인덱스부터 끝 인덱스 직전까지를 복사하여 새로운 배열을 반환합니다.원본 배열은 변경되지 않고, 새로운 배열이 생성됩니다.Arrays.copyOf()와 달리, 원하는 구간만 선택적으로 복사할 수 있다는 점이 특징입니다.👉 메서드 시그니처:public static int[] copyOfRange(int[] original, int from, int to)original : 원본 배열from : 복사 시작 인덱스 (포함)to : 복사 끝..
자바에서 배열을 비교할 때 흔히 == 연산자를 쓰는 경우가 많습니다.하지만 배열에서 ==는 주소(참조) 비교이기 때문에, 내용이 같더라도 false가 나올 수 있습니다.이럴 때 바로 Arrays.equals() 메서드를 사용하면 배열의 **내용(값)**을 비교할 수 있습니다. 1. Arrays.equals()란?Arrays.equals()는 두 배열의 길이와 요소가 같은지 비교합니다.배열의 참조(주소)가 아니라, 내부 요소 값 기준으로 동등 여부를 판단합니다.비교 대상: 기본형 배열(int[], double[] 등), 객체 배열(String[], Integer[] 등)👉 true 또는 false를 반환합니다. 2. 잘못된 비교 예시 (== 연산자)public class WrongComparison { ..