[Java]배열 메소드 정리

이동엽·2022년 12월 27일
0

For each 문

사용방법

for(각 요소 값 :배열이나,벡터,List)
{
	내용
}

for문 쓰지않고 이렇게 간단하게 할수 있다.
다만, 배열의 값을 바꿀수는 없다.

int[] numbers = {1,2,3,5};
int sum =0;
for(int number :numbers)
{
	sum+=number;
}
System.out.println(sum); //11

String.toCharArray()

문자열을 한 글짜씩 쪼개서 char타입의 배열에 할당 해주는 메소드이다.

String str = "dddddffwww"
char[] chararr = str.toCharArray();
//{'d','d','d','d','d','f','f','w','w','w'}

배열 복사 메소드

System.arraycopy()

System.arraycopy(원본배열,원본 배열 복사할 시작인덱스,새 배열,새 배열 붙여넣은 시작 인덱스,복사할 갯수);
int[] arr={1,2,3,4,5}
int[] temp =new int[arr.length];
System.arraycopy(arr,0,temp,0,arr.length);//[1,2,3,4,5]

복사 길이를 정하고, 복사할 배열 어디 부터, 붙여넣기 될 배열을 어디부터랑 갯수가 필요할때 쓰인다.
즉 길이가 필요하거나 인덱스 어디 부터 해야하는 상황에서 쓰인다.

Arrays.copyOf()

int[] arr={1,2,3,4,5}
int[] temp =Arrays.copyOf(arr,5);
//Arrays.copyOf(복사할 배열,갯수);

array.copy()와 차이는 길이와 범위를 쓰냐 안쓰냐 차이 이기 때문에
Arrays.copyOf()는 좀 더 간편하게 배열 전체 복사할때나 인덱스 처음부터 복사할때 쓰인다.

arrays.copyOfRange()

int[] arr= {1,2,3,4,5};
int[] temp = Arrays.copyOfRange(arr,1,4);//[2,3,4,5]
//Arrays.copyOfRange(복사할 배열,시작 인덱스,갯수)
int[] temp = Arrays.copyOfRange(arr,1,6);//[2,3,4,5,0,0]

Arrays.copyOf()에서 시작 인덱스를 쓸수 있는게 추가 된것이며, 대신 갯수를 복사할 배열의 크기를 넘으면 나머지 인덱스에는 default로 0을 초기화한다.

profile
씨앗

0개의 댓글