IT/Java

[Java] 특정 인덱스에서 배열 자르기

hi.anna 2021. 7. 16. 23:11

 

Java에서 특정 인덱스를 기준으로 

배열을 자르는 2가지 방법을 소개합니다.

 

  1. 반복문 이용하기
  2. Arrays.copyOfRange() 이용하기

 

 

1. 반복문 이용하기

import java.util.Arrays;

public class ArraySplit {
    public static void main(String[] args) {
        
        // 1. 원본 배열
        int[] arr = {0, 1, 2, 3, 4, 5};

        // 2. 배열을 자를 index
        int position = 3;

        // 3. 자른 배열을 담을 새로운 배열
        int[] arr1 = new int[position];
        int[] arr2 = new int[arr.length - position];

        // 4. 배열 자르기
        for(int i = 0; i < arr.length; i++)  {
            if( i < position)   {
                arr1[i] = arr[i];
            }else   {
                arr2[i - position] = arr[i];
            }
        }

        // 5. 자른 배열 출력
        System.out.println(Arrays.toString(arr1));  // [0, 1, 2]
        System.out.println(Arrays.toString(arr2));  // [3, 4, 5]
        
    }
}

반복문을 이용하여, 배열을 순회하면서 

주어진 index 전/후의 값을 각각의 새로운 배열에 담아서

배열을 잘랐습니다.

 

 

 

2. Arrays.copyOfRange() 이용하기

import java.util.Arrays;

public class ArraySplit {
    public static void main(String[] args) {
        
        // 1. 원본 배열
        int[] arr = {0, 1, 2, 3, 4, 5};

        // 2. 배열을 자를 index
        int position = 3;

        // 3. 배열 자르기
        int[] arr1 = Arrays.copyOfRange(arr, 0, position);
        int[] arr2 = Arrays.copyOfRange(arr, position, arr.length);

        // 4. 자른 배열 출력
        System.out.println(Arrays.toString(arr1));  // [0, 1, 2]
        System.out.println(Arrays.toString(arr2));  // [3, 4, 5]

    }
}

int[] arr1 = Arrays.copyOfRange(arr, 0, position);
int[] arr2 = Arrays.copyOfRange(arr, position, arr.length);

Arrays.copyOfRange() 메소드를 이용하여, 

배열의 특정 영역을 복사하여, 

배열을 2개로 분리하였습니다.

 

 


 

배열을 특정 index를 기준으로 자르는 방법을 알아보았습니다.

 

 

반응형