我需要一些概念上的帮助。我正在尝试制作一个小棒球应用程序。在棒球比赛中有一个深度图表,可以让所有队员都按位置进行比赛。我还需要创建一个阵容,这个阵容只能是各自深度图顶部的玩家。如何最好(最有效的方式)去做。我担心的工作解决方案是原始的(我仍然很新,所以我很抱歉,如果它只是无用的)
我拥有的是:
private List<Player>[] depthChart = new ArrayList[9]; // 0 catcher, 1 pitcher, etc
private ArrayList<Player> lineup = new ArrayList<Player>(); // 0 of depthChart only
游戏计划是通过depthChart数组进行解析,并确保只有第一个条目可以进入该行。我必须构建约束和逻辑,以确保您不能有重复项并确保维护阵容顺序。但我不能帮助以为有更好的方法。
我知道这不会帮助所有人,所以如果你想忽略这一点。但如果有更聪明的人,我会喜欢一些提示和指导。你不需要为我编码。我只需要提示如何处理这个问题。
答案 0 :(得分:1)
我会尝试Map
,其中键是位置枚举,值是Set
Players
谁可以扮演该位置。给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
}