Java에는 컬렉션이나 기타 데이터 유형에 대해 다양한 작업을 수행하는 기능이 많이 내장되어 있으며 그 중 하나가 셔플입니다. Shuffle 기능은 Python과 같은 다른 많은 언어에서도 사용할 수 있습니다.
무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
셔플 방법 선언:
public static void shuffle(List<?> list)
public static void shuffle(List<?> list, Random random)
매개변수:
반품:
아래 예에서는 일부 알파벳이 포함된 배열에서 목록을 만들고 셔플 방법을 사용하여 배열을 섞었습니다. 실행할 때마다 다른 순서로 섞인 목록이 표시됩니다.
코드:
import java.util.*; public class CollectionsShuffleExampleWithoutRandom { public static void main(String[] args) { List<String> list = Arrays.asList("R", "A", "H", "U", "L"); System.out.println("Before Shuffle : "+list); Collections.shuffle(list); System.out.println("After shuffle : "+list); } }
출력:
아래 예에서는 정수 연결 목록을 만들고 여기에 정수를 추가합니다. 그러나 여기서는 Randomness의 소스가 될 Random 함수라는 또 다른 인수를 전달했습니다. 그런 다음 시드 값 5를 사용하여 Random 함수를 전달했습니다. 이것은 또 다른 특징이거나 Randomness와 함께 shuffle 함수를 사용하는 방법이라고 할 수 있습니다.
코드:
import java.util.*; public class CollectionsShuffleWithRandom { public static void main(String[] args) { //Create linked list object LinkedList<Integer> list = new LinkedList<Integer>(); //Add values list.add(90); list.add(100); list.add(1); list.add(10); list.add(20); System.out.println("Before Shuffle = "+list); //Random() to shuffle the given list. Collections.shuffle(list, new Random()); System.out.println("Shuffled with Random() = "+list); //Random(5) to shuffle the given list. Collections.shuffle(list, new Random(5)); System.out.println("Shuffled with Random(5) = "+list); } }
출력:
셔플을 더 세밀하게 제어하려면 무작위 방법으로 목록을 섞는 방법과 목록을 섞는 또 다른 방법을 직접 작성할 수 있습니다. 이 방법은 더 유연하고 모든 응용 프로그램에 적합합니다. 실제로 Java의 내장 메소드 내에서 셔플이 어떻게 작동하는지 이해할 수 있습니다.
입력: int 배열
출력: 섞인 배열(무작위 순서)
예:
public static int[] ShuffleArray(int[] array){ Random rand = new Random(); // Random value generator for (int i=0; i<array.length; i++) { int randomIndex = rand.nextInt(array.length); int temp = array[i]; array[i] = array[randomIndex]; array[randomIndex] = temp; } return array; }
위 함수에서는 정수 배열만 전달하면 섞인 배열이 반환됩니다. 함수 내에서 배열을 길이만큼 반복하고 난수를 생성하는 것을 볼 수 있으며, 배열 인덱스로 처리되어 다른 배열로 교체됩니다. 이것이 배열 내에서 요소가 교체되는 방식입니다. 결과 배열은 교체된 배열이 됩니다.
위 함수에서 값 목록이 전송되고 배열의 요소를 반복하는 동안 매번 난수가 생성되는 shuffle 함수의 기본 개념을 얻을 수 있습니다. 요소는 무작위 함수에서 무작위로 생성된 인덱스를 사용하여 동일한 목록의 다른 요소로 교체됩니다.
예외:
아래 셔플 기능이 일부 응용되는 상황이 많이 있을 수 있습니다.
위 기사에서는 셔플의 작동 방식과 사용 방법을 이해했습니다. 임의 매개변수 없이 임의 매개변수가 있는 셔플 함수를 사용하는 여러 사용 사례가 있을 수 있으며 일부 애플리케이션에는 Java의 Random 함수를 사용하여 자체 셔플 함수를 작성할 수 있는 다른 유연한 구현이 필요할 수 있습니다.
위 내용은 Java의 Shuffle()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!