Требование, которое у меня есть, для каждого типа T, у меня есть несколько элементов (от 1 до 30+), и сначала мне нужен случайный предмет, затем мне нужен следующий, и когда я добираюсь до последнего предмета, он должен вернуть первый и т. д.
Так сказать, T - это Icon, а коллекция - это Изображения (экземпляр).
Я хочу иметь:
// program start:
Icon icon = RandomIcon(); // say 5th one for this case
// user clicks next icon:
icon = current++; (6, 7, 8, 1, 2, ...)
Для меня круговой связанный список имеет смысл, за исключением того, что я должен сделать O (n), где n - случайный индекс.
Я хочу иметь самое чистое и лучшее исполнение, поэтому вопрос.