我需要一些概念上的帮助。我正在尝试制作一个小型棒球应用程序。在棒球运动中,有一个深度图,其中按位置列出了球队的所有球员。我还需要创建一个阵容,其中只有位于各自深度图顶部的球员。最好的(最有效的方法)是怎样做的。我担心我的工作解决方案很原始(我还很新,所以如果它没用,我很抱歉)
我拥有的是:
private List<Player>[] depthChart = new ArrayList[9]; // 0 catcher, 1 pitcher, etc
private ArrayList<Player> lineup = new ArrayList<Player>(); // 0 of depthChart only
游戏计划是解析 depthChart 数组并确保只有第一个条目可以进入队列。我必须建立约束和逻辑,以确保不能有重复项并确保维持阵容顺序。但我忍不住想还有更好的方法。
我知道这不会有任何帮助,所以如果你想忽略它。但如果有更聪明的人,我会喜欢一些提示和指导。你不需要为我编码。我只需要有关如何解决此问题的提示。
最佳答案
我会尝试使用Map
,其中键是位置枚举,值是可以玩该游戏的Players
的Set
位置。为 Player
提供一个序数值深度,以便您可以按该深度进行排序。
public enum Position {
PITCHER, CATCHER, FIRST, SECOND, SHORT, THIRD, LEFT, CENTER, RIGHT
}
public class Player {
private String name;
private Position position;
private int depth;
// be sure to properly override equals and hash code to eliminate duplicates
}
关于java - 您会如何为体育节目编写深度图和阵容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10970405/