The easiest way would be to create a second array and place the elements from NewList into the second array in a random order. If the first array has duplicate names, then sort NewList first and do a check on each element to see if it matches the previous element before you randomly place it in your second array. If the list contains duplicate names and can't be sorted, then you'll want to use three arrays. The first is your NewList array, the second is a copy of NewList that can be sorted, and the third is your result array.