[Java] 배열(Array) 뒤집는 방법: 배열 리버스(reverse) 예제
Java에서 배열을 어떻하면 뒤집기(reverse)를 할 수 있을까요?
배열을 뒤집는 방법에는 여러가지가 있습니다. 그 중에 첫 번째 방법은 라이브러리을 사용하지 않고 배열을 뒤집는 것입니다. 두번째 방법은 Collection 클래스의 reverse()메서드를 사용하는 방법입니다.
1. 라이브러리를 사용하지 않고 배열을 뒤집는 방법
아래 코드 스니펫을 보시면 이해가 되실거에요. 이러한 방법을 습득 후 라이브러리를 사용하게 되면 작업을 훨씬 쉽게 만드는 방법이 있음을 알게 되고 코딩 능력 향상에 도움이 됩니다. 아래 샘플 코드는 for문을 사용하여 배열의 절반(arr.lenath/2)을 반복하면서 리버스를 하는 예제 입니다.
package edu.sample;
import java.util.Arrays;
public class Tutorial {
public static void main(String[] args) {
String arr[] = {"korea","american","japan","china"};
for(int i=0; i<arr.length/2; i++){
String temp = arr[i];
arr[i] = arr[arr.length -i -1];
arr[arr.length -i -1] = temp;
}
System.out.println("리버스 후 배열: " + Arrays.toString(arr) );
}
}
[실행결과]
리버스 후 배열: [china, japan, american, korea]
또 다른 예제를 살펴보세요.
package edu.sample;
import java.util.Arrays;
public class Tutorial {
public static void main(String[] args) {
//String arr[] = {"korea","american","japan","china"};
int[] a = new int[]{1,2,3,4,5,6,10,12,11,14};
int[] b = new int[a.length];
for(int i=0;i<a.length;i++){
int temp=a[i];
b[i]=a[a.length-i-1];
a[i]=temp;
//System.out.println(b[i]);
}
System.out.println("리버스 후 배열: " + Arrays.toString(b) );
}
}
[실행결과]
리버스 후 배열: [14, 11, 12, 10, 6, 5, 4, 3, 2, 1]
2. Java에서 ArrayList를 사용하여 배열을 뒤집는 방법
Java에서 배열을 반전시키는 또 다른 간단한 방법은 먼저 배열을 List로 변환 한 다음 Collections.reverse () 메서드를 사용하여 ArrayList를 리버스 하는 것입니다. 이 메서드를 사용하여 int , String 또는 모든 유형의 배열을 뒤집을 수 있습니다. Java에서 문자열 배열을 뒤집는 예를 살펴 보겠습니다.
package edu.sample;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Tutorial {
public static void main(String[] args) {
String arr[] = {"korea","american","japan","china"};
//정렬 전
System.out.println("리버스 전 배열: " + Arrays.toString(arr));
List<String> listItem = Arrays.asList(arr);
Collections.reverse(listItem);
String[] reversed = listItem.toArray(arr);
System.out.println("리버스 후 배열: " + Arrays.toString(reversed) );
}
}
[코드 실행 결과]
리버스 전 배열: [korea, american, japan, china]
리버스 후 배열: [china, japan, american, korea]
List 클래스의 toArray () 메서드를 사용해서 배열의 값(요소)의 순서가 반전되는 것을 볼 수 있습니다.