我遇到的问题时不时出现,而且非常烦人。
我有两个arraylists:
*一个跟踪名称的人
*跟踪“计数器”这些名称的使用次数
问题: 每个名称“连接”的计数器可以不同。我想选择连接最低计数器的6个名字。如果有7个或更多名称与最低计数器连接的名称,我如何保持选择随机?
有关信息: 这两个arraylists通过与相同的随机种子混合而“连接”。 他们随机洗牌的原因是因为对于第一次抽奖(5次抽奖 - 每天1次),每个人都从0开始。通过改组arraylists,我可以确保选择是随机的。
我希望这对你有意义。如果我的描述措辞不当或者你有理解某事的问题,那就问一下:)
答案 0 :(得分:3)
简单地不使用多个数组,使用类似CountedName
的类来存储名称和计数器。然后,您可以使用自定义比较器对这些countedName
的数组进行排序,该比较器根据存储的count
进行排序。
答案 1 :(得分:1)
您可以维护一个将名称存储为键并计为值的哈希映射,而不是创建两个单独的数组/列表,您可以提供自定义逻辑来相应地递增/递减计数器。
答案 2 :(得分:0)
您可以创建一个包含名称和计数器作为变量的对象(类)。然后,您可以将这些对象存储在一个可以根据需要随机播放的单个阵列中。