Study/Java
Java - 배열관련 메서드
kahaha
2023. 4. 17. 18:33
* Arrays.copyOf(기존배열, 지정할 크기) - 배열크기 재지정
* Arrays.copyOfRange(배열, 시작위치, 끝위치) - 배열 시작위치 ~ 끝위치까지 복사
import java.util.Arrays;
* System.arraycopy 는 byte[] 형태의 데이터를 자르거나 연접하기 위해 사용하는 메소드 입니다.
System.arraycopy (src, srcPos, dest, destPos, length)
Object src : 원본 배열
int srcPos : 원본 배열의 복사시작 위치, 처음부터 데이터를 읽어올거면 0 을 넣어줍니다.
Object dest : 복사할 배열, 복사하려는 대상입니다. -> 이곳에 복사됌
int destPos : 복사할 배열의 복사 시작 위치, 처음부터 데이터를 쓸 거면 0 을 넣어줍니다.
int length : 복사할 요소의 개수
public class Solution {
public int[] addToFront(int[] arr, int el) {
// TODO:
int [] result = new int[arr.length+1];
result[0] = el;
System.arraycopy(arr, 0, result, 1, arr.length);
return result;
}
}
입출력 예시
int[] output = addToFront(new int[]{1, 2}, 3);
System.out.println(output); // -> [3, 1, 2]
위와 같은 방식으로 사용한다. 이 방식의 장점은, 원하는 부분만 복사할 수 있다는 점과 불필요한 인스턴스 생성을 방지하여 메모리 자원 낭비를 예방하고, 더 빠르게 실행된다는 점이다. 가독성 측면에서도 효율적이다.