티스토리 뷰

랜덤한 값을 구하고 싶으면

1) Math.Random() 

2) java.util.Random

로또 번호 구하는 것처럼 {1, 2, 3, ... , 44, 45} 중 6개의 숫자를 무작위로 뽑아내는 용도라면 위의 두가지 중 하나를 사용해도 되었겠지만,

DB에서 여러개의 값을 불러와서 그 중 랜덤한 값을  뽑아내야 했기에 쓰기가 애매했다.

리스트를 섞어주는게 뭐가 있을까 더 찾아보니 이걸 찾을 수 있었다.


Collections.shuffle을 사용해 배열을 섞어보자

이름 그대로 수집한 배열을(Collections) 섞어준다.(shuffle)

사용법도 단순해서 좋았다

1
2
List<AddrVO> list = service.getAddress();
Collections.shuffle(list);
cs

Collections.shuffle() 여기 괄호안에 배열 목록만 적어주면 배열 안의 값은 랜덤하게 섞이게 되서

list.get(0).getAddress();   -> 이렇게 0번째 있는 값을 계속 출력해도 매번 값이 바뀌게 된다.


댓글