Java에서 Array와 List를 섞는 방법 (Shuffle)
자바에서 배열(Array)와 리스트(List)를 섞는(shuffle) 방법을 알아보겠습니다. 이 작업은 주로 컬렉션의 요소들을 무작위로 재배열하고 싶을 때 유용합니다. 자바에서는 이러한 작업을 쉽게 할 수 있는 방법을 제공합니다. 이번 포스트에서는 java.util.Collections 클래스를 이용하여 리스트를 섞는 방법과 배열을 리스트로 변환한 후 섞는 방법을 다루겠습니다.
List를 섞는 방법
리스트를 섞는 방법은 매우 간단합니다. 자바에서는 java.util.Collections 클래스의 shuffle 메서드를 사용하면 됩니다.
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ListShuffleExample {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
list.add(i);
}
System.out.println("Before shuffle: " + list);
Collections.shuffle(list);
System.out.println("After shuffle: " + list);
}
}
위 예제에서는 ArrayList에 1부터 10까지의 정수를 추가한 후, Collections.shuffle 메서드를 사용하여 리스트의 요소들을 무작위로 섞습니다. 결과를 출력하면 리스트가 섞인 것을 볼 수 있습니다.
Array를 섞는 방법
배열은 Collections.shuffle 메서드를 직접 사용할 수 없기 때문에 배열을 리스트로 변환한 후 섞어야 합니다. 배열을 리스트로 변환하기 위해 Arrays.asList 메서드를 사용할 수 있습니다.
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class ArrayShuffleExample {
public static void main(String[] args) {
Integer[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
System.out.println("Before shuffle: " + Arrays.toString(array));
List<Integer> list = Arrays.asList(array);
Collections.shuffle(list);
System.out.println("After shuffle: " + Arrays.toString(array));
}
}
위 예제에서는 배열을 리스트로 변환한 후 Collections.shuffle 메서드를 사용하여 리스트를 섞습니다. 리스트를 섞으면 원본 배열도 같이 섞이게 됩니다.
결론
자바에서 배열이나 리스트를 섞는 것은 Collections.shuffle 메서드를 이용하여 간단하게 처리할 수 있습니다. 리스트는 바로 섞을 수 있으며, 배열은 리스트로 변환한 후 섞어야 합니다. 이러한 방법을 사용하면 컬렉션의 요소들을 손쉽게 무작위로 재배열할 수 있습니다.