개발/JAVA

[JAVA] 자바 배열 랜덤 정렬 shuffle함수 사용법

TaeDy.I.T. 2023. 2. 7. 06:33
반응형

안녕하세요. 오늘은 자바(JAVA) 배열 랜덤 정렬 하는 방법에 대해 알아보겠습니다.

 

일을 하다가 보면 가끔 결과값을 랜덤으로 노출해주세요. 라는 요구사항을 받을때가 있습니다.

물론 이런 요구 사항을 받는 경우가 아예 없을수도 있습니다.

저는 좀 간혹 받구 있습니다....흑흑...

 

그럼 데이터베이스에서 조회해 온 리스트(배열)를 어떻게 랜덤으로 다시 정렬을 할까?

 

이럴때 사용하는 shuffle()라는 함수가 있습니다.

 

예시로 먼저 알아보겠습니다.

 

@ shuffle() 함수 예시

shuffle() 함수 예시

 

        Integer[] array={1, 2, 3, 4, 5, 6, 7, 8, 9};
        List<Integer> list =Arrays.asList(array);
        System.out.println("랜덤 정렬 전 : " + Arrays.toString(array));
        
        Collections.shuffle(list);
        list.toArray(array);
        System.out.println("랜덤 정렬 후 : " + Arrays.toString(array));

 

        Integer[] array={1, 2, 3, 4, 5, 6, 7, 8, 9};
        List<Integer> list =Arrays.asList(array);
        System.out.println("랜덤 정렬 전 : " + Arrays.toString(array));
        
        Collections.shuffle(list);
        list.toArray(array);
        System.out.println("랜덤 정렬 후 : " + Arrays.toString(array));

 

shuffle() 함수 예시 결과

 

예시를 작성하고 결과를 보았습니다.

shuffle() 함수 하나면 간단하게 배열을 랜덤으로 재 정렬 할 수 있습니다.

 

shuffle()함수를 안쓰고 random()이라는 함수를 사용하여 배열을 랜덤으로 재 정렬하는 방법도 있습니다.

 

하지만 제가 random() 함수를 사용하지 않고 shuffle() 함수를 선택한 이유는

random() 함수를 사용하는 것보다 시간이 덜 걸리고 코드 라인수도 줄어들기 때문에

shuffle() 함수를 선택하여 사용하였습니다.

 

예시를 보면 매우 간단합니다.

 

배열을 랜덤으로 재 정렬해야 할때 한번 사용해보세요.

 

안녕하세요. 오늘은 자바(JAVA) 배열 랜덤 정렬 하는 방법에 대해 알아보았습니다.

반응형