java - 从arraylist获取绑定值
问题描述
具有原始状态的更新版本。
一个名为 getMost 的方法,它采用单个整数参数并返回 Personality 对象的 ArrayList。您可以假设参数的值将大于或等于 0,但它可能大于 Competition 对象列表中的项目数。此方法必须返回一个 ArrayList,其中包含得票最多的 Competition 的 Personality 对象。返回的 ArrayList 必须与 Competition 对象中的不同,但 Personality 对象将是相同的。例如,如果参数为 3,则该方法必须创建一个新的 ArrayList,在其中存储三个投票数最多的 Personality 对象,然后返回该列表。
在编写此方法时,您应该考虑以下特殊情况: • 如果参数的值大于或等于列表中的人物数量,则将返回所有人物。• 投票可能存在平局,这可能意味着返回的列表可能包含比参数值更多的对象。例如,如果需要前 3 名,而前 5 位人物有 100、98、50、50 和 42 票,则必须返回 4 个人物。另一方面,如果需要前 3 名并且前 5 名有 100、100、98、50、50 和 42 票,则将返回恰好三个。
代码已删除>>
解决方案
我不知道你是否被允许使用流。但是这个代码片段可以满足您的要求:(数字是您的带有数字的列表)
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;
}
下次请添加一些您已经尝试过的代码。
推荐阅读
- mysql - MySQL之谜:如何在循环中组合结果?
- logging - Serilog:每天滚动日志文件,而且每个应用程序运行?
- python - SQLAlchemy 有 bool_and 聚合函数吗?
- java - GridView 项目高度与其他不匹配
- php - CURL 取消请求,不响应
- firebase - 从 Firebase 数据库中删除数据
- python - 熊猫python中的欧几里得最小生成树
- marklogic - 通过脚本关闭主机
- html - onclick 按钮后 HTML 元停止自动刷新
- java - 如何理解 FutureTask.removeWaiter() 方法中的“检查种族”注释?