Java 跟踪多个ArrayList
我遇到的问题时不时会出现,这很烦人 我有两个数组列表:Java 跟踪多个ArrayList,java,arrays,sorting,arraylist,Java,Arrays,Sorting,Arraylist,我遇到的问题时不时会出现,这很烦人 我有两个数组列表: *一个记录姓名的人 *记录这些名称被使用多少次的“计数器” 问题是: “连接”到每个名称的计数器可以不同。我想选择连接有最低计数器的6个名称。如果有7个或7个以上的名称与最低计数器相连,我如何做到这一点,同时保持选择的随机性 有关信息: 两个ArrayList通过使用相同的随机种子进行洗牌而“连接”。 他们随机洗牌的原因是因为第一次抽签(每天5次抽签-1次)每个人都从计数0开始。通过洗牌数组列表,我可以确保选择是随机的 我希望这对你有意义。
*一个记录姓名的人
*记录这些名称被使用多少次的“计数器” 问题是: “连接”到每个名称的计数器可以不同。我想选择连接有最低计数器的6个名称。如果有7个或7个以上的名称与最低计数器相连,我如何做到这一点,同时保持选择的随机性 有关信息: 两个ArrayList通过使用相同的随机种子进行洗牌而“连接”。 他们随机洗牌的原因是因为第一次抽签(每天5次抽签-1次)每个人都从计数0开始。通过洗牌数组列表,我可以确保选择是随机的
我希望这对你有意义。如果我的描述措词不当,或者您在理解某些内容时遇到问题,请询问:)不要使用多个数组,请使用像
CountedName
这样的类来存储名称和计数器。然后,您可以使用自定义比较器对这些countedName
的数组进行排序,该比较器根据存储的count
进行排序。如果不使用多个数组,请使用类似countedName
的类来存储名称和计数器。然后,您可以使用自定义比较器对这些countedName
数组进行排序,该比较器根据存储的count进行排序。您可以创建一个对象(类),其中包含名称和计数器作为变量。然后将这些对象存储在一个数组中,您可以随意洗牌 您可以创建一个对象(类),其中包含名称和计数器作为变量。然后将这些对象存储在一个数组中,您可以随意洗牌 不必创建两个单独的数组/列表,您可以维护一个hashmap,将名称存储为键,计数存储为值,您可以提供自定义逻辑来相应地递增/递减计数器。不必创建两个单独的数组/列表,您可以维护一个hashmap,将名称存储为键,将计数存储为值,还可以提供自定义逻辑以相应地递增/递减计数器。如果包含一些代码,可能会更清晰。与其将相关数据保存在两个单独的对象中,不如将其放在一个对象中。这就是面向对象编程的工作原理。创建一个包含名称字段和计数器字段的类,并生成该类的实例数组。您需要一个比较器,可能还需要hashCode()
和equals()
实现,具体取决于您想要使用它的集合。但是从把所有相关的数据放在一起开始。我将尝试这样做:)谢谢!如果包含一些代码,可能会更清楚。与其将相关数据保存在两个单独的对象中,不如将其放在一个对象中。这就是面向对象编程的工作原理。创建一个包含名称字段和计数器字段的类,并生成该类的实例数组。您需要一个比较器,可能还需要hashCode()
和equals()
实现,具体取决于您想要使用它的集合。但是从把所有相关的数据放在一起开始。我将尝试这样做:)谢谢!啊,这很有道理。我会想办法试试这个:)谢谢!啊,这很有道理。我会想办法试试这个:)谢谢!