사용방법
for(각 요소 값 :배열이나,벡터,List)
{
내용
}
for문 쓰지않고 이렇게 간단하게 할수 있다.
다만, 배열의 값을 바꿀수는 없다.
int[] numbers = {1,2,3,5};
int sum =0;
for(int number :numbers)
{
sum+=number;
}
System.out.println(sum); //11
문자열을 한 글짜씩 쪼개서 char타입의 배열에 할당 해주는 메소드이다.
String str = "dddddffwww"
char[] chararr = str.toCharArray();
//{'d','d','d','d','d','f','f','w','w','w'}
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]
복사 길이를 정하고, 복사할 배열 어디 부터, 붙여넣기 될 배열을 어디부터랑 갯수가 필요할때 쓰인다.
즉 길이가 필요하거나 인덱스 어디 부터 해야하는 상황에서 쓰인다.
int[] arr={1,2,3,4,5}
int[] temp =Arrays.copyOf(arr,5);
//Arrays.copyOf(복사할 배열,갯수);
array.copy()와 차이는 길이와 범위를 쓰냐 안쓰냐 차이 이기 때문에
Arrays.copyOf()는 좀 더 간편하게 배열 전체 복사할때나 인덱스 처음부터 복사할때 쓰인다.
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을 초기화한다.