Array
Array
import java.util.Arrays;
public class ArraysUtility {
public static void main(String[] args) {
int[] numbers = {5, 2, 8, 1, 9};
// 1. toString() - 배열을 문자열로
System.out.println("배열: " + Arrays.toString(numbers));
// 2. sort() - 정렬
Arrays.sort(numbers);
System.out.println("정렬 후: " + Arrays.toString(numbers));
// 3. binarySearch() - 이진 탐색 (정렬된 배열에서)
int index = Arrays.binarySearch(numbers, 5);
System.out.println("5의 인덱스: " + index);
// 4. fill() - 배열 채우기
int[] filled = new int[5];
Arrays.fill(filled, 10);
System.out.println("채워진 배열: " + Arrays.toString(filled));
// 5. copyOf() - 배열 복사
int[] original = {1, 2, 3, 4, 5};
int[] copied = Arrays.copyOf(original, 3);
System.out.println("복사된 배열: " + Arrays.toString(copied));
// 6. copyOfRange() - 범위 복사
int[] ranged = Arrays.copyOfRange(original, 1, 4);
System.out.println("범위 복사: " + Arrays.toString(ranged));
// 7. equals() - 배열 비교
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 3};
System.out.println("배열 같음: " + Arrays.equals(arr1, arr2));
// 8. deepToString() - 다차원 배열 출력
int[][] matrix = {
{1, 2}, {3, 4}
};
System.out.println("2차원 배열: " + Arrays.deepToString(matrix));
// 9. deepEquals() - 다차원 배열 비교
int[][] m1 = {
{1, 2}, {3, 4}
};
int[][] m2 = {
{1, 2}, {3, 4}
};
System.out.println("2차원 배열 같음: " + Arrays.deepEquals(m1, m2));
}
}
배열 복사 주의 사항
public class ArrayCopy {
public static void main(String[] args) {
int[] original = {1, 2, 3, 4, 5};
// 얕은 복사 (참조만 복사) - 위험!
int[] shallow = original;
shallow[0] = 100;
System.out.println("원본: " + Arrays.toString(original)); // [100, 2, 3, 4, 5]
// 깊은 복사 방법 1: Arrays.copyOf()
int[] deep1 = Arrays.copyOf(original, original.length);
deep1[0] = 200;
System.out.println("원본: " + Arrays.toString(original)); // [100, 2, 3, 4, 5]
System.out.println("복사본: " + Arrays.toString(deep1)); // [200, 2, 3, 4, 5]
// 깊은 복사 방법 2: System.arraycopy()
int[] deep2 = new int[original.length];
System.arraycopy(original, 0, deep2, 0, original.length);
// 깊은 복사 방법 3: clone()
int[] deep3 = original.clone();
}
}
This post is licensed under CC BY 4.0 by the author.