본문 바로가기
Programming/Java

Java에서 배열 크기 늘이기

by Hunveloper 2022. 1. 19.
728x90

1. 함수를 만들어서 배열을 한칸씩 확장

    => 새로운 배열 선언, 주소값을 새로 생성된 배열로 연결해줌

public class Main
{
    public static int[] increaseSize(int[] arr)
    {
        int[] newArr = new int[arr.length + 1];//Creating a new array with space for an extra element
        for(int i = 0; i < arr.length; i++)
        {
            newArr[i] = arr[i];//Copying the elements to the new array
        }
        return newArr;
    }
    public static void main(String[] args)
    {
        int[] arr = new int[5];
        int counter = 0;
        for(int i = 0; i <= 6; i++)
        {
            if(counter == arr.length)
            {
                arr = increaseSize(arr);
            }
            arr[i] = i*2;
            counter += 1;
        }
        for(int i=0; i<arr.length; i++)
        {
            System.out.print(arr[i]+" ");
        }
    }
}

 

2. Arrays.CopyOf 함수를 이용

import java.util.Arrays;
public class Main
{  
    public static void main(String[] args)
    {    
        int[] arr = new int[5];
        int counter = 0;
        for(int i = 0; i <= 6; i++)
        {
            if(counter == arr.length)
            {
                int[] newArr = Arrays.copyOf(arr, arr.length + 1);
                arr = newArr;
            }
            arr[i] = i*2;
            counter += 1;
        }
        for(int i=0; i<arr.length; i++)
        {
            System.out.print(arr[i]+" ");
        }
    }
}

 

3. ArrayList배열 사용

import java.util.ArrayList;
public class Main
{  
    public static void main(String[] args)
    {  	//Creating a new ArrayList to hold Integer values
        ArrayList<Integer> arrList = new ArrayList<Integer>();
        //Adding elements 5, 10, 15 and 20 to the ArrayList
        arrList.add(5);
        arrList.add(10);
        arrList.add(15);
        arrList.add(20);
        //Printing the ArrayList
        System.out.println(arrList);
        //Adding an element 7 at index 2. This will shift the rest of the elements one place to the right
        arrList.add(2, 7);
        System.out.println(arrList);
        //Fetching the element at index 3
        System.out.println(arrList.get(3));
        //Changing the element present at index 1 to 17
        arrList.set(1, 17);
        System.out.println(arrList);
    }
}


출처 : https://www.delftstack.com/ko/howto/java/increase-array-size-in-java/

 

728x90
728x90

'Programming > Java' 카테고리의 다른 글

삼항 조건 연산자  (0) 2022.08.06
동일 패키지 내의 파일 상대 경로로 가져오기  (0) 2022.01.18

댓글