просто хочу выдавать не с помощью rand.Intn рандомно, а последовательно
ну вот берёте в стандартной библиотеке min heap, реализуете требуемый интерфейс, далее в этот min heap складываете все ваши ключи, после чего можно будет получить ключ, который использовался меньше всего раз, одним вызовом метода