2022-05-09 데일리 회고 (After) 10일차

Sung-min Seo·2022년 5월 9일
0

⭐ 오늘의 학습 내용 📌

1. 가변 배열

🥕 가변 배열이란?

    2차원 배열이상의 다차원 배열을 생성할때 배열의 마지막 차수를 정하지 않고 가변적으로 그 크기를 조절하는 것을 말한다.

Example 1.0

int[][] arr = new int [3][];
    다음과 같은 2차원 배열을 만들었을시, 첫번째 배열을 3까지 생성하였지만, 두번째 배열은 비워 놓는 것으로 메모리의 비효율적인 사용을 방지 할수 있다.

🥕 Arrays.copyOf

    Syntax :
        copyOf(int[] original, int newLength)

    + java.util에 속하는 메서드로 사용시 import를 해주어야 사용할수 있다.
    + 첫번째 변수는 복사 하고자 하는 배열을 뜻하며 두번째 변수는 복사된 배열의 길이를 뜻한다.

Example 2.0

int[] arr = new int []{}; //공백의 배열을 생성한다.

arr = Arrays.copyOf(arr , arr.length +1); // 자기 자신을 복제 한뒤 배열을 한칸 더 늘린다. 

🥕 Arrays.copyOfRange

    Syntax :
        copyOfRange(int[] original_array, int from_index, int to_index)

    + int[] original_array : 복사 하고자 하는 배열
    + int from_index : 복사를 시작할 위치
    + int to_index : 복사가 끝나는 위치

Example 3.0

int[] arr = {1, 2, 3, 4, 5}; // arr 배열을 생성

int [] result = []{}; // 빈 배열을 생성

int[] result = Arrays.copyOfRange(arr, 2 , arr.length); // 결과 값: {3, 4, 5}

🥕 System.arraycopy

    Syntax :
        System.arraycopy(src, srcPos, dest, destPos, length);

    + src : 복사해오는 소스 파일 또는 원본 파일 / 내가 복사 하고 싶은 배열
    + srcPos : 원본 파일에서 복사를 시작하고 싶은 인덱스 번호
    + dest : 위의 src가 복사되는 배열
    + destPos : src 배열이 dest배열 내에서 시작되는 위치/ 인덱스 번호
    + length : src 배열의 길이

Example 4.0

int[] arr1 = {1, 2, 3}; // arr1 배열을 생성

String[] arr2 = {"A", "B", "C"}; // arr2 배열을 생성

System.arraycopy(arr1,0,arr2,1,2); // 결과 값: {A,1,2}

⭐ 오늘의 소감

배열 문제를 푸느라 한참을 걸렸다. 머리로 생각 하기에는 간단하게 풀수 있을 것 같은데 구현 하려는 조건이 점점 까다로워 질수록 예외들이 너무 많아진다.

profile
매일 문제 3개 이상 풀기!!

0개의 댓글