具有原始状态的更新版本。
名为 getMost 的方法,它采用单个整数参数并返回 Personality 对象的 ArrayList。您可能会假设 参数的值将大于或等于 0,但也可能更大 比竞赛对象列表中的项目数要多。 该方法必须返回一个包含 Personality 的 ArrayList 得票最多的竞赛对象。返回的ArrayList 必须与竞赛对象不同,但 人格对象将是相同的。例如,如果参数是 3 然后该方法必须创建一个新的ArrayList,在其中存储这三个 拥有最高票数的个性对象,并返回该对象 列表。
编写此方法时,应考虑以下特殊情况: • 如果参数值大于或等于人物数量 那么列表中的所有人物都将被返回。 • 投票可能出现平局,这可能意味着返回的列表可能 包含比参数值更多的对象。例如,如果前 3 名是 需要,前五名人物有 100、98、50、50 和 42 票,则 必须返回四个人物。另一方面,如果前 3 名是 需要,前五名有 100, 100, 98, 50, 50 和 42 票,那么正好 将返回三个。
代码已删除>>
最佳答案
我不知道您是否可以使用流。但此代码片段满足您的要求:(Numbers 是您的带有数字的列表)
private static long getNumber(int number) {
if (number < 1 || number >= numbers.size()) return number;
int numberFromList = numbers.get(number - 1);
return (number + numbers.stream().filter(n -> n == numberFromList).count()) - 1;
}
下次请添加一些您已经尝试过的代码。
关于java - 从数组列表中获取绑定(bind)值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53430399/