List Shuffle(리스트 랜덤으로 순서 변경)
리스트의 순서를 랜덤으로 변경하는 코드이다. 데이터를 개수만큼 생성 이후에 랜덤으로 순서를 변경한다.
기본적으로 Swap의 코드로 구성되어있다.
반응형
Genergeneric type으로 선언해서 List의 어떤 형태든 가능하도록 했다.
< 방법 - 1>
public List<T> GetShuffleList<T>(List<T> _list){
for (int i = _list.Count - 1; i > 0; i--)
{
int rnd = UnityEngine.Random.Range(0, i);
T temp = _list[i];
_list[i] = _list[rnd];
_list[rnd] = temp;
}
return _list;
}
< 방법 - 2>
System.Random random = new System.Random();
var shuffledList = indexList.OrderBy(a => random.Next()).ToList();
단순한 유틸 메소드이다.
테스트 코드는 0~50개의 순차적인 리스트를 해당 코드를 통해서 Log를 찍어본 결과이다.
★☆☆☆☆
반응형
댓글